block/trailblaze

🥾 AI-Driven UI Testing Framework with Recorded Trails

何を解決するか

Trailblazeは、AIコーディングエージェント(Claude Code、Cursor、Gooseなど)がiOS、Android、Webの実際のデバイスとやり取りし、制御できるようにします。エージェントがコードを書く能力と、UI上で実際にアクションを実行する能力のギャップを埋め、エージェント駆動のセッションを、LLMが再実行時に不要なCIで実行可能な決定論的で再実行可能なテストに変換します。

動作方法

TrailblazeはCLIツールとして動作し、エージェントが画面を読み取る(snapshot経由)およびアクションを実行する(tool経由)ことができます。各プラットフォームのネイティブアクセシビリティツリーとUIセマンティクス(Androidのアクセシビリティツリー、iOSのネイティブUIセマンティクス、WebのDOM)を公開し、エージェントが要素を意味的にターゲットできるようにします。

エージェントがデバイスを制御すると、セッションは「trail」(trail.yaml)として保存されます。このファイルには、ステップの自然言語記述と記録されたアクションが含まれます。これらのトレイルはCIで決定論的に再実行できます。UIの小さな変更によりフローが壊れた場合、Trailblazeは組み込みエージェントを使って「自己修復」し、ライブ画面と比較してUIの小さなずれを修正できます。

対象ユーザー

  • AIエージェント開発者:UIテストやデバイス制御を自動化するコーディングエージェントを構築または使用している人。
  • QAエンジニア:アドホックなAI駆動の探索を、コミット済みでバージョン管理されたレグレッションテストに変換したい人。
  • アプリ開発者:クロスプラットフォームアプリを開発しており、最低限の共通機能に制限されないネイティブ品質の自動化ツールが必要な人。

特徴

  • クロスプラットフォーム制御:iOS、Android、Webの統一CLI。
  • 決定論的再実行:AIセッションをtrail.yamlファイルに変換し、LLMが不要なCI対応テストに。
  • コード化されたカスタムツール:TypeScriptで型指定されたカスタムコマンド(例:loginやaddToCart)を定義可能で、より複雑なエージェントとの対話が可能。
  • エージェントスキル:すぐにコーディングエージェントにCLIの使い方を教えるためのポータブルなSKILL.mdフォーマットを同梱。
  • トレースビューア:各ステップのスクリーンショット、ビュー階層、動画を提供するブラウザベースのレポートビューア。
  • 自己修復テスト:再実行時に小さなUIのずれをエージェントで修正するためのオプション--self-healモード。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト