argent-create-e2e について
記録したアプリ操作から、再生可能な Argent のエンドツーエンドテストを作成・修復するスキルです。記録、YAML の整形、監査、全体再生を案内し、証拠と安定したセレクターを重視します。
主な機能
- 01アプリ操作を e2e テストとして記録
- 02テスト YAML の整形と監査
- 03安定したセマンティックセレクターの使用
- 04画面遷移の証明を必須化
- 05編集後のテスト全体の再生
- 06再生失敗からの復旧手順
活用シーン
- 01操作の記録から e2e テストを作成
- 02argent-qa-e2e を使った受け入れ基準のテスト化
- 03失敗した Argent の再生を修復
- 04画面遷移と画面識別の検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ software-mansion/ argent --skill argent-create-e2eインストール後、Claude Code で/argent-create-e2eを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/e2e-yaml.mdlive-authoring.mdreliability-and-recovery.md詳細
Argent e2e テストを作成する
Argent e2e テストは、.argent/e2e/<name>.yaml に保存される再生可能な一連のステップです(.argent/flows/ も引き続き読み込まれます)。
保存済みの QA テストケース、チケット、または受け入れ基準に基づく場合は、最初に argent-qa-e2e を読み込んでください。決定論的なセットアップ、受け入れの証拠、2 パスの証明が追加されます。
関連するリファレンスを読む
- e2e テストを作成または変更する前に、ライブ作成を最後まで読んでください。
- YAML を仕上げたり、組み立てたり、手動でレビューしたりする場合は、E2E YAML を読んでください。Vega の場合は、リモートまたはキーボードのツールを記録する前に、そのプラットフォームの制限を読んでください。
- e2e テストは物理 iPhone(kind が
"device"の iOSlist-devicesエントリ)で実行されますが、再生時にデバイスが自動でバインドされることはありません。シミュレーターが起動していない場合も同様です。電話の udid をdevice(CLI の--device)に指定してください。また、実行できるのはconnected状態の電話のみです。pinch/rotateステップは、ライブツールと同様に失敗します。ハードウェアでは、ランナーのツリーはdescribeツリーです。ID とロールは同じですが、UIView 階層はありません。ハードウェアの仕様についてはargent-ios-device-interactを参照してください。 - キャプチャの警告、生の座標、利用できないツリー、タイミングの合わない遷移、オーバーレイ、または再生の失敗が発生した場合は、信頼性と復旧を読んでください。
必須ルール
- 最初のウォークスルーを記録します。 最初の起動またはアプリ内操作の前に、レコーダーを起動してください。リハーサルした経路を再構成してはいけません。
- 状態が現れた時点でチェックを記録します。
await-ui-elementをライブで記録し、仕上げの段階で変換してください。echo が記録するのは意図や診断コンテキストであり、アプリの動作や判定ではありません。スクリーンショットは人間向けの証拠であり、実行可能な判定ではありません。要素が存在しないことを確認するには、同じセレクターをvisibleとして記録し、要素を取り除く操作を行った後、hiddenとして記録してください。 - セマンティックなターゲットを使います。 厳密な ID を優先し、次に安定したテキストまたはアクセシビリティラベルを使ってください。画面外の要素には
scroll-toを使います。生のポイントに関する警告はすべて、座標フォールバックの判定基準に従って直ちに解決してください。 - 画面が変わるたびに、その変化を証明します。 遷移先だけを対象にした識別チェックを記録してください。仕上げの段階では、その後に
await: { idle: true }を続けてください。画面が静止していても識別の証明にはならず、警告が出てもidleが成功する場合があります。 - 実行した動作のみを仕上げます。 記録したステップは意味を変えずに変換してください。不足している操作や構造チェックはライブで記録してください。未記録で挿入できるのは、計画済みの
snapshot:、ナビゲーション用のawait: { idle: true }、および文書化された Chromium のパッケージング用launch:のみです。 - ユーザーから依頼された場合に限り、スクリプトを使います。 E2E YAML:ローカルスクリプトを読んでから、各スクリプトを
e2e-add-scriptで記録してください。 - 最終版の YAML を最初から最後まで再生します。 通常の e2e テストには、中断のない完全な実行が 1 回必要です。
argent-qa-e2eでは、連続 2 回の実行が必要です。
安定したセレクター
安定したセレクターとは、アプリのコードによって固定されており、e2e テストがサポートするすべてのアカウント、データ、時刻、件数、順序、ロケール、環境で変わらないものです。settings-screen のような ID を優先してください。Today、Item 4、ユーザー名、カウンター、タイムスタンプなどの値を条件にしてはいけません。
YAML のみで使えるセレクターのスコープ
仕上げの段階では、within、after、next を使って、繰り返し現れる要素を区別してください。フレームベースのセマンティクスと失敗するケースについては、E2E YAML:関係スコープを読んでください。
ワークフロー
- e2e テストの種類を選びます。
- スタンドアロン:
echo:またはscript:ではない最初のステップがlaunch:です。テストがプロセスの開始を制御します。 - フラグメント: 先頭に
launchがありません。正確なexecutionPrerequisiteを宣言してください。
- スタンドアロン:
- ライブ作成に従い、開始し、検証済みのステップを一度に 1 つずつ記録し、終了し、仕上げ、監査してから再生します。
- ファイル、再生コマンド、結果、前提条件または副作用、そして座標や生のジェスチャーに関する例外をすべて報告してください。
事前記録
3 回以上のやり取りを繰り返す前に、ユーザーに伝えて記録を開始してください。その実行を記録し、後で再生してください。完了したパスを後から記録することはできません。
修正
再生に失敗した場合は、信頼性と復旧に従ってください。最初の不一致を調べ、正当な理由のある最小単位を修正し、監査して、e2e テスト全体を再生してください。修正を 2 回試みても成功しない場合は停止してください。合格するために、要求されたチェックを決して緩めないでください。