用途:在 agent-os Windows 11 虚拟机内对一个已构建的 Windows .exe 做真实端到端测试,逐项驱动功能、监控崩溃/卡死/错误对话框,评审 UI/UX,输出结构化的“可用/不可用”报告。与 web-app-testing、android-app-testing 共用同一报告格式(references/report-format.md)。
主要能力:通过 Lab 网关上的 agent-os_windows-mcp 驱动 agent-os VM(容器 agent-os-win11,dookie 上的 dockur/windows)。在通用 VM 驱动技能 agent-os 之上增加测试框架:构建传输、功能枚举、失败分类、证据流水线与报告。
使用方式:1)预检——确认 VM 已启动,缺失时 ssh dookie 'cd /home/jmagar/compose/windows && docker compose up -d';调用 Screenshot {} 验证 MCP 就绪(不要 TCP 探测 :8765);做一次廉价破坏性调用 Process {mode:"list"} 确认网关闸门已开;创建运行目录 ~/.agents/docs/sessions/<app>-desktop-test/run_<id>/。2)把构建传入 VM(HTTP-pull 或 SCP),Unblock-File,必要时预建防火墙规则。3)用 PowerShell {command:"Start-Process 'C:\...\app.exe'; ...return PID"} 启动并确认 PID。4)WaitFor 等待就绪,Snapshot 枚举控件并写 plan.md。5)逐功能执行 act-by-label 循环:Snapshot→取元素整数 label→Click/Type→再 Snapshot。6)每次动作后检测失败:进程消失或事件日志报错为 FAIL,超时无响应为 FAIL,错误弹窗为 FAIL/PARTIAL,无预期反馈为 PARTIAL/FAIL,缺凭据/数据/许可为 BLOCKED。7)独立功能间用 Process {mode:"kill"} 后重启。8)按 rubric 做 UX/a11y 评审,无辅助名称的交互元素记为无障碍问题。9)写 report.md + result.json,截图存 evidence/ 并建索引。
限制与注意:所有驱动动作(PowerShell、Click、Type、App、Process 等)均为 destructive=true 并受网关闸门约束,需具备 execute 权限的认证管理员;若返回 confirmation_required 则网关版本过旧,需重建部署。只读的 Screenshot/Snapshot 不受闸门限制。Type/Click 必须提供 loc 或 label,无隐式焦点输入。UI 变更后 label 会失效,必须重新 Snapshot。Snapshot 输出会超约 24KB 信封,需在沙箱内过滤/切片。自绘应用(GPUI、部分 Electron/canvas)对 UI Automation 暴露很少,Snapshot 稀疏,需退回 Screenshot + 坐标点击 + SendKeys 并标注置信度降低。MCP 调用可能约 120 秒超时,需分块并配合短超时重试循环。安全提示会阻塞无人值守运行。该技能不针对用户个人 Windows(steamy),只面向沙箱 VM。