awizemann/harness
AI-driven user testing for iOS Simulator, macOS apps, and web apps. Write a goal in plain language; an LLM agent drives the UI and reports friction. macOS 14+, Swift 6.
解决的问题
Harness 通过模拟真实的人类行为而非依赖僵化的脚本化 UI 测试来自动执行用户测试。它通过让 AI Agent 尝试完成应用程序中的特定目标,帮助开发人员识别 UX 摩擦——例如死胡同、含义模糊的标签或无响应的控件。
工作原理
用户以自然语言提供目标(例如“注册并创建一个列表”)和角色(例如“首次使用的用户”)。随后,LLM Agent 通过读取屏幕截图并执行点击、打字或滚动等操作与目标应用程序进行交互。该系统使用 "Set-of-Mark" 目标定位技术,在交互元素上覆盖编号徽章,以便 Agent 可以通过 ID 而非不精确的像素坐标进行点击。它支持通过 Ollama 进行本地推理,或通过 Anthropic、OpenAI 和 Google 等云提供商进行推理。
适用对象
- iOS/macOS 开发人员: 在模拟器或桌面环境中测试原生应用。
- Web 开发人员: 通过嵌入式浏览器视图测试 Web 应用程序。
- QA 工程师: 执行自主用户流测试,并接收有关成功、失败和摩擦点的详细报告。
亮点
- 多平台支持: 驱动 iOS 模拟器、macOS 应用和 Web 应用。
- 真实用户模拟: 专注于 UX 摩擦和目标完成,而非脚本化路径。
- Set-of-Mark 目标定位: 在交互元素上使用编号覆盖层,以确保精确的 Agent 交互。
- 灵活的推理: 支持通过 Ollama(使用 Qwen3-VL 等视觉模型)进行本地执行,或使用高端云端 LLM。
- 丰富的产出物: 生成可回放的操作序列、成功/失败摘要以及带有时间戳的摩擦点报告。