用途:在交互式 Windows 桌面会话中对 Windows 11 桌面应用(WinForms/WPF/UWP)执行 QA 测试,如冒烟测试、登录流程验证。所有自动化均调用 UFO 的真实 MCP 工具(UICollector、HostUIExecutor、AppUIExecutor),不使用模拟。
主要能力:刷新并列出窗口、按 id 与名称选择被测窗口、采集控件树(label、control_text、control_type、automation_id、control_rect)、截图、点击控件、写入文本、发送按键、读取控件文本、轮询等待文本包含指定内容,并输出带编号执行日志与 PASS/FAIL 结论及截图。
使用方式:若 MCP 工具缺失,先运行 python "<skill-dir>/scripts/skill_installer.py" --project-dir "<project-root>",解析 JSON 输出,success 为 true 时重启 MCP 客户端,失败则查看 references/setup.md。随后按固定流程:qa_refresh_and_list_windows() 发现窗口;select_application_window(id, name) 选择窗口并 capture_window_screenshot() 取基线;qa_refresh_controls(field_list=[...]) 采集控件;用 click_input、set_edit_text、keyboard_input 交互;用 texts 与 qa_wait_for_text_contains 断言;最后填写 assets/test-case.md 模板并附截图。
限制:代理、UFO MCP 进程与被测应用必须处于同一已登录的交互式 Windows 桌面会话;SSH、WinRM、CI 服务与 Session 0 均为无头环境,不可用,应使用交互式控制台、RDP 会话或受保护的虚拟桌面,且不要为满足此要求而公开暴露 RDP。控件树为空或报错时可等待 2-3 秒重试,或尝试 CONTROL_BACKEND=win32;大型或旧版 WinForms 窗口应避免反复全量 UIA 扫描,改用截图与坐标操作并记录原因。坐标操作仅作最后手段。更多示例与定位策略见 references/qa-workflows.md,安装与诊断见 references/setup.md。