# 融合桌面功能手动测试清单 **测试日期**: 2026-06-08 **测试人员**: ___________ **构建版本**: ___________ --- ## 测试环境准备 - [ ] 启用融合桌面功能(设置 -> 应用设置 -> EnableFusedDesktop = true) - [ ] 重启应用以加载融合桌面组件 - [ ] 确认任务栏托盘图标可见 --- ## 测试组 1: 编辑模式控制 ⭐⭐⭐ ### 测试 1.1: 打开组件库进入编辑模式 **步骤**: 1. 右键点击托盘图标 2. 选择"添加小组件"(或对应的菜单项) 3. 观察融合桌面组件库窗口是否打开 **预期结果**: - [ ] 组件库窗口成功打开 - [ ] 已存在的桌面组件窗口的光标变为"移动"光标(十字箭头) - [ ] 桌面组件显示蓝色边框高亮 - [ ] 桌面组件显示8个调整尺寸手柄(四角+四边) - [ ] 桌面组件内部UI变为不可交互(IsHitTestVisible = false) **日志验证**: - 搜索日志: "Entered edit mode via library window open" --- ### 测试 1.2: 关闭组件库退出编辑模式 **步骤**: 1. 点击组件库窗口的关闭按钮(X)或按 ESC 键 2. 观察桌面组件状态 **预期结果**: - [ ] 组件库窗口关闭 - [ ] 桌面组件的光标恢复正常 - [ ] 蓝色边框高亮消失 - [ ] 调整尺寸手柄消失 - [ ] 桌面组件内部UI恢复可交互 **日志验证**: - 搜索日志: "Exited edit mode via library window close" --- ## 测试组 2: 组件添加与居中放置 ⭐⭐⭐ ### 测试 2.1: 从组件库添加组件 **步骤**: 1. 打开组件库 2. 选择一个分类(如"时钟") 3. 观察预览区显示的组件 4. 点击"添加小组件"按钮 **预期结果**: - [ ] 组件成功添加到桌面 - [ ] 组件居中显示在当前屏幕的工作区 - [ ] 组件吸附到网格 - [ ] 组件库窗口保持打开(根据规格要求) - [ ] 新组件立即显示蓝色边框和调整手柄(因为仍在编辑模式) **日志验证**: - 搜索日志: "Added component '...' with placement '...' at grid" --- ### 测试 2.2: 连续添加多个组件 **步骤**: 1. 在组件库保持打开的状态下 2. 连续添加3-5个不同的组件 **预期结果**: - [ ] 每个组件都成功添加 - [ ] 后添加的组件不会覆盖先前的组件位置 - [ ] 所有组件都显示编辑模式视觉反馈 --- ## 测试组 3: 组件拖拽移动 ⭐⭐⭐ ### 测试 3.1: 在编辑模式下拖拽组件 **步骤**: 1. 打开组件库(进入编辑模式) 2. 左键按住桌面组件 3. 拖拽到不同位置 4. 释放鼠标 **预期结果**: - [ ] 组件跟随鼠标移动 - [ ] 释放后组件吸附到最近的网格单元 - [ ] 组件不会超出屏幕工作区边界 - [ ] GridColumn 和 GridRow 正确更新 **日志验证**: - 搜索日志: "Edit mode set to true" --- ### 测试 3.2: 拖拽到屏幕底部 **步骤**: 1. 拖拽组件到屏幕最底部 2. 释放鼠标 **预期结果**: - [ ] 组件成功吸附到底部网格行 - [ ] 组件不会被任务栏遮挡 - [ ] 组件完全可见(不超出工作区) --- ### 测试 3.3: 拖拽到屏幕右侧 **步骤**: 1. 拖拽组件到屏幕最右侧 2. 释放鼠标 **预期结果**: - [ ] 组件成功吸附到最右侧网格列 - [ ] 组件完全可见(不超出工作区) --- ## 测试组 4: 组件尺寸调整 ⭐⭐⭐⭐⭐ ### 测试 4.1: 使用右下角手柄调整尺寸 **步骤**: 1. 进入编辑模式 2. 左键按住组件右下角的调整手柄 3. 向外拖拽增大尺寸 4. 释放鼠标 **预期结果**: - [ ] 组件尺寸实时变化 - [ ] 释放后吸附到网格(宽度和高度都是 CellSize 的整数倍) - [ ] GridWidthCells 和 GridHeightCells 正确更新 - [ ] 组件内容正确渲染新尺寸 **日志验证**: - 搜索日志: "Resize started. Handle=BottomRight" - 搜索日志: "Resize completed" --- ### 测试 4.2: 使用左上角手柄调整尺寸 **步骤**: 1. 拖拽左上角手柄 2. 向内缩小组件 **预期结果**: - [ ] 组件从左上角调整尺寸 - [ ] 组件位置同步移动(保持右下角固定) - [ ] 释放后正确吸附到网格 - [ ] 不会小于组件的 MinWidthCells 和 MinHeightCells --- ### 测试 4.3: 使用边缘手柄调整单一维度 **步骤**: 1. 拖拽右侧中间手柄(只调整宽度) 2. 拖拽底部中间手柄(只调整高度) **预期结果**: - [ ] 只有对应维度的尺寸变化 - [ ] 另一维度保持不变 - [ ] 吸附逻辑正确 --- ### 测试 4.4: 最小尺寸约束 **步骤**: 1. 尝试将组件缩小到极小尺寸 2. 持续向内拖拽 **预期结果**: - [ ] 组件停止在最小尺寸(50px 或 MinWidthCells/MinHeightCells) - [ ] 无法继续缩小 --- ## 测试组 5: 网格吸附一致性 ⭐⭐⭐ ### 测试 5.1: 添加大尺寸组件 **步骤**: 1. 添加一个 4x4 或更大的组件 **预期结果**: - [ ] 组件正确居中 - [ ] 跨越多个网格单元 - [ ] 边界对齐网格线 --- ### 测试 5.2: 拖拽大组件到边缘 **步骤**: 1. 拖拽大组件到屏幕边缘 2. 释放 **预期结果**: - [ ] 组件吸附时不会超出屏幕 - [ ] 如果无法完全显示,自动调整到边界内最近的合法位置 --- ## 测试组 6: 多屏幕场景 ⭐⭐ ### 测试 6.1: 跨屏幕拖拽(如果有多显示器) **步骤**: 1. 将组件拖拽到第二个显示器 2. 释放 **预期结果**: - [ ] 组件吸附到第二个显示器的网格 - [ ] 使用第二个显示器的工作区计算网格 --- ## 测试组 7: 组件删除 ⭐⭐ ### 测试 7.1: 非编辑模式下右键删除 **步骤**: 1. 关闭组件库(退出编辑模式) 2. 右键点击桌面组件 3. 选择"移除组件" **预期结果**: - [ ] 右键菜单显示 - [ ] 点击"移除组件"后窗口关闭 - [ ] 组件从布局配置中移除 --- ## 测试组 8: 持久化与重载 ⭐⭐⭐ ### 测试 8.1: 重启后保持布局 **步骤**: 1. 添加多个组件,调整位置和尺寸 2. 关闭应用 3. 重新启动应用 **预期结果**: - [ ] 所有组件在相同位置重新加载 - [ ] 尺寸保持不变 - [ ] 网格坐标保持一致 --- ## 测试组 9: 预览布局计算 ⭐⭐ ### 测试 9.1: 组件库预览保持比例 **步骤**: 1. 打开组件库 2. 切换不同分类,观察不同尺寸的组件预览 **预期结果**: - [ ] 横向组件(4x2)显示为宽大于高 - [ ] 纵向组件(2x4)显示为高大于宽 - [ ] 正方形组件(3x3)宽高相等 - [ ] 预览尺寸适应窗口大小 --- ### 测试 9.2: 调整组件库窗口尺寸 **步骤**: 1. 拖拽组件库窗口边框调整尺寸 2. 观察预览区组件 **预期结果**: - [ ] 预览组件尺寸自动调整 - [ ] 保持组件原始宽高比 - [ ] 不超出预览区边界 --- ## 测试组 10: 边界情况 ⭐⭐ ### 测试 10.1: 空布局启动 **步骤**: 1. 清空布局配置文件 2. 启动应用 **预期结果**: - [ ] 应用正常启动 - [ ] 桌面无组件显示 - [ ] 可正常打开组件库添加组件 --- ### 测试 10.2: 编辑模式中拖拽组件库窗口 **步骤**: 1. 打开组件库 2. 拖拽组件库窗口到不同位置 3. 尝试拖拽桌面组件 **预期结果**: - [ ] 组件库窗口可正常拖拽 - [ ] 桌面组件仍可拖拽 - [ ] 两者互不干扰 --- ## 回归测试 ⭐ ### 回归 1: 组件内部交互(非编辑模式) **步骤**: 1. 退出编辑模式 2. 与桌面组件交互(点击按钮、输入文字等) **预期结果**: - [ ] 组件内部UI完全可交互 - [ ] 所有功能正常工作 --- ### 回归 2: 底部窗口层级 **步骤**: 1. 打开其他应用窗口 2. 最小化/移动窗口 **预期结果**: - [ ] 桌面组件始终保持在最底层(BottomMost) - [ ] 其他窗口不会被组件遮挡 --- ## 性能测试 ⭐ ### 性能 1: 大量组件 **步骤**: 1. 添加 10-20 个组件到桌面 **预期结果**: - [ ] 拖拽仍然流畅 - [ ] 编辑模式切换无延迟 - [ ] CPU 和内存占用在合理范围 --- ## 测试总结 **通过的测试**: _____ / 总计 **失败的测试**: _____ **阻塞问题**: _____ **关键问题列表**: 1. 2. 3. **改进建议**: 1. 2. 3. --- **测试完成时间**: ___________ **签名**: ___________