block/trailblaze

🥾 AI-Driven UI Testing Framework with Recorded Trails

解决的问题

Trailblaze 为 AI 编码代理(如 Claude Code、Cursor 或 Goose)提供了一种与 iOS、Android 和 Web 上的真实设备进行交互和控制的方法。它弥合了代理编写代码的能力与在用户界面实际执行动作的能力之间的差距,同时将这些代理驱动的会话转化为可确定性重放的测试,这些测试可在 CI 中运行,而无需在重放时使用 LLM。

工作原理

Trailblaze 作为一个 CLI 工具运行,代理可以使用 snapshot 读取屏幕,并使用 tool 执行操作。它暴露了每个平台的原生可访问性树和 UI 语义——Android 的可访问性树、iOS 的原生 UI 语义以及 Web 的 DOM,使代理能够语义化地定位元素。

当代理驱动设备时,会话将被保存为一个「轨迹」(trail.yaml)。该文件包含步骤的自然语言描述和记录的操作。这些轨迹可以在 CI 中确定性地重放。如果由于微小的 UI 变化导致流程中断,Trailblaze 可以使用内置代理通过将 UI 的微小漂移与实时屏幕对比来「自我修复」测试。

适用人群

  • AI 代理开发者:正在构建或使用编码代理来自动化 UI 测试和设备控制的人。
  • QA 工程师:希望将临时的 AI 驱动探索转化为已提交、版本控制的回归测试的人。
  • 应用开发者:开发跨平台应用,需要一个不局限于最低共同功能的原生保真度自动化工具的人。

主要亮点

  • 跨平台控制:iOS、Android 和 Web 的统一 CLI。
  • 确定性重放:将 AI 会话转换为 trail.yaml 文件,生成可在 CI 中运行且无需 LLM 的测试。
  • 代码化自定义工具:可在 TypeScript 中定义类型化的自定义命令(例如 login 或 addToCart),以支持更复杂的代理交互。
  • 代理技能:附带可移植的 SKILL.md 格式,可快速教会编码代理如何使用 CLI。
  • 轨迹查看器:基于浏览器的报告查看器,为每个步骤提供截图、视图层次结构和视频。
  • 自我修复测试:可选的 --self-heal 模式,使用代理在重放时修复微小的 UI 偏移。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目