block/trailblaze
🥾 AI-Driven UI Testing Framework with Recorded Trails
What it solves
Trailblaze 提供了一种让 AI 编程代理(AI coding agents)使用自然语言控制真实设备(iOS、Android 和 web)的方法。它弥补了代理编写代码的能力与与实时应用程序 UI 交互的能力之间的鸿沟,允许开发者使用代理来驱动应用、将这些交互记录为确定性的测试,并通过 AI 驱动的自愈功能进行维护。
How it works
Trailblaze 提供了一个 CLI,编程代理(如 Claude Code、Cursor 或 Goose)可以使用它来与设备进行交互。代理使用 snapshot 来读取 UI 树,并使用 tool 对特定元素进行操作。这些会话被保存为 "trails"——记录了自然语言意图和平台特定操作的 YAML 文件。这些 trails 可以随后在 CI 中进行确定性的回放,无需 LLM,或者使用带有 --self-heal 标志的重新运行,该标志使用内置代理来修复小的 UI 变化。
Who it’s for
它专为使用 AI 编程代理在不同平台上自动化移动端和 web 应用端到端测试的开发者和 QA 工程师设计。
Highlights
- Cross-Platform Control: 支持 iOS、Android 和 web,具有原生保真度,暴露完整的可访问性树(accessibility tree)或 DOM,而不是受限的功能交集。
- Agent-Ready Skills: 配备了可移植的
SKILL.md格式,用于教导代理如何使用 CLI,确保代理确切地知道如何驱动设备。 - Deterministic Replay: 将 AI 驱动的会话转换为已提交的 YAML trails,可以在 CI 中运行,而运行时不需要 LLM。
- AI-Powered Self-Healing: 在回放期间自动修复微小的 UI 漂移(如文本变化或弹窗),以防止脆弱的测试失败。
- Custom Tooling: 允许开发者在 TypeScript 中定义类型化的自定义命令(例如,
login或addToCart),以实现更复杂的代理交互。 - Trace Viewer: 一个基于浏览器的报告查看器,提供每次运行步骤的截图、视图层级结构和视频。
相关
- 项目
- 项目
- 项目
- 项目
- 项目