テストを実行する
Shellがテストコマンドを実行し、カードには実際の終了コードと完全な出力が表示されます。
UI自動化とは、プログラムがインターフェースを操作して、人がクリックすることなくフローを実行することを意味します。FlowLatchはそのプログラムの隣にいるエージェントであり、ドライバーではありません。FlowLatchはテストファイルを読み書きし、WindowsのShell経由でテストコマンドを実行し、チャットのカード上で終了コードと出力を表示します。
Shellがテストコマンドを実行し、カードには実際の終了コードと完全な出力が表示されます。
edit_fileとwrite_fileは作業フォルダ内のテストファイルを変更し、Ask firstでは差分が表示され、承認を待ちます。
grep、glob、read_fileはセレクタや待機条件の場所を特定し、ocrは保存された失敗スクリーンショットのテキストを読み取ります。
フローはリポジトリ内のプレーンファイルとして保存されます。エージェントはそれらを読み取り、テストコマンドを実行し、実際の出力から失敗を説明し、確認用の最小限の修正を差分として提案します。カバーされているフローの短いリストを保持するため、どのフローにまだテストが必要か一目で確認できます。
tests/一覧表示sign-in2件の一致your test command終了コード 1tests/sign-in.test.ts読み込み完了tests/sign-in.test.ts保存済みyour test command終了コード 0E2Eテストのベストプラクティスは、決して壊れてはならないフローの短いリストから始まります。FlowLatchにそれらのフローのみを作成させるのが最適です。list_dirとglobは既存のテストの命名規則を示し、read_fileはパターンとして1つのファイルを開き、write_fileはテストアカウントとフェイクデータを含むサインインフローの新しいファイルを作成します。その後Shellがテストコマンドを実行し、カードに実際の終了コードが表示されます。最初のドラフトが最終版であることは稀なので、より明確な名前やページテキストの確認追加など、1回に1つの変更を依頼してください。承認する前に、差分で新しいファイルを読み、自分で1回実行し、意図したフローに一致する場合のみ保持してください。
Shellがテストコマンドを実行し、カードには完全な出力が保持されるため、赤い結果は推測ではありません。grepはその出力から失敗したステップを検索し、フレームワークがスクリーンショットを保存している場合は、ocrがその中のメッセージを読み取ります。エンドツーエンドテストのフラッキネスを減らすために、FlowLatchに同じコマンドで失敗したテストを再実行させ、終了コードを比較してください。パスの後に失敗がある場合は、固定された待機、共有テストデータ、またはテストの順序を示しています。チャットで短い説明を求め、ファイルを変更する前に出力に対してそれらを確認してください。
フロントエンド作業においてE2Eテストが時間の価値があるかどうかはフローによりますが、まずサインインとチェックアウトをカバーしてください。ページレイアウトが変更された場合、grepはそれに関連付けられたすべてのセレクタを見つけ、read_fileは周囲のステップを示し、edit_fileは安定したラベルまたはテストIDを提案します。Ask firstでは、FlowLatchは各編集の前に一時停止し、ファイルごとに差分を表示します。正しそうに見える行を承認し、残りを却下し、その後Shellでスイートを再実行して新しい終了コードを確認します。レビュアーが1分で読めるように、差分を小さく保ってください。
フレームワーク間でE2Eテストを移行する際は、新しいものがパスするまで両方のスイートをリポジトリに保持してください。FlowLatchはglobで古いテストを一覧表示し、read_fileでそれぞれを読み取り、write_fileで新しいファイルに一致するものを1つのフローごとに書き込みます。web_searchとhttp_getは、覚えていない構文のために新しいフレームワーク自体のドキュメントを読むことができます。両方のスイートをShellで実行し、古いものが削除される前にAsk firstで各ファイルを承認してください。計画は再起動後も保持されるため、長い移行は翌日に継続できます。
FlowLatchはホスティングサービスやブラウザプラグインではありません。それはあなたのファイル、PC、および権限のあるサーバーのみを対象としており、Shell、Web、SSHは作業フォルダに限定されないため、作業はそれら内に保持されます。テストや編集が正しいことを約束するものではなく、すべての差分を読み、テストを自分で実行します。スイートがパスすることはフローを壊すリスクを下げますが、スイートには定期的なメンテナンスが必要です。