用途:为 Goose 桌面应用创建端到端测试,输入为自然语言描述的测试场景,输出为使用稳定选择器验证该场景的 Vitest 测试文件。
主要能力与用法:通过测试驱动 CLI 探索界面,命令为 pnpm test-driver <action> [selector] [value],支持 snapshot、getText、count、click、fill、keypress、waitForText、scroll、screenshot。工作流分三步:先探索(导航回首页并 snapshot,挑选稳定选择器,用 count 确认唯一,用 getText 验证文本,操作后重新 snapshot);再在 tests/app-e2e/<name>.test.ts 编写测试,使用 tests/app-e2e/lib/setup.ts 的 useTestDriver(),可参考 tests/app-e2e/chat.test.ts;最后运行 pnpm test:app-e2e 验证,失败则用 CLI 重新探索。
选择器策略优先级:优先 data-testid('[data-testid="my-element"]'),其次语义选择器(如 'input[placeholder="Ask anything..."]'),最后才在源码中添加描述性 data-testid,且只添加该属性、不改其他代码。禁止在测试中使用 snapshot 生成的动态 data-tid。
限制与约束:仅适用于已启用测试驱动、处于 dev 模式的 Tauri 应用;不读 .tsx/.ts/.css 源码来理解 UI,唯一例外是添加 data-testid;每个功能区域一个测试文件,测试描述需具体,断言前检查 count 为 1,不在测试文件中添加注释。其余细节资料未提供。