Control UI E2E
ワークフロー
- 証明の選択。 既存のブラウザE2Eレーンをルーティング、ブート、Gatewayハンドシェイク、完全なユーザーフローに使用します。ブラウザ/ユニットテストは隔離されたレンダリングロジックに使用します。要求された成果に一致する以下の各ブランチを読んでください。 完了条件: 変更されたすべての動作に名前付きシナリオと証明の境界が設定されていること。
- フィクスチャの準備。
ui/src/test-helpers/control-ui-e2e.tsに合成Gatewayデータを使用して再利用します。不足しているレスポンスに対して型付きシナリオオプションを拡張します。既存の依存関係インストールを再利用します。他のジョブで使用されているインストールを保持します。実際のGateway/プロバイダーの認証情報は、明示的なライブプルーフの許可が必要です。実行配置についてはテストポリシーに従ってください。 完了条件: ターゲットフローが意図したソースまたはプロダクションビルドに対して実行され、必要な各フィクスチャレスポンスが定義されていること。 - 動作の実行。 ナビゲーションの前にモックをインストールします。可視のコントロールを介して動作させ、レンダリング結果と関連するGatewayリクエストの両方をアサートします。再生前に、予期しない動作をプロダクトまたはフィクスチャの所有者に解決させます。 完了条件: 各シナリオがアサートされた結果に到達するか、未達成のアサーションを特定した失敗が保持されていること。
- エビデンスの提供。 以下のアーティファクトルールと選択したブランチのチェックを適用します。確認済みの結果、失敗、未テストの状態をそれぞれ別々に報告します。 完了条件: 主張されたすべての結果に検査可能なエビデンスがあり、残りのギャップには名前が付けられていること。
UIストレステスト
大規模なレイアウト/コンポーネントの変更やマルチステートのデザインフィードバックの場合は、ストレステストギャラリーを構築する前にビジュアルプルーフを読んでください。小さなコピー/アイコンの変更には、フォーカスされた証明を使用できます。
ビジュアルプルーフのデフォルト
外観の変更、スクリーンショット、一過性状態のキャプチャ、またはビデオについては、ビジュアルプルーフを読んでください。外観の変更には検査済みのBefore/Afterエビデンスが必要です。非ビジュアルな修正には、動作アサーションだけで十分な場合があります。
インタラクションパフォーマンス監査
UIの遅延、応答性監査、または自動Chromeトレース収集については、ビルド、フィクスチャ、および測定境界を選択する前にインタラクションプロファイリングを読んでください。
Run Inspectorエビデンス
実行/意思決定エビデンスについては、レシートを選択する前にRun Inspectorキャプチャを読んでください。
アーティファクト
- スコープと親ディレクトリを指定して
createControlUiE2eArtifactDir(scope, parentDir?)でアロケートします。試行ごと、またはスタンドアロン起動ごとに1回だけ呼び出します。ディレクトリをキャプチャヘルパーに渡し、ステージごとの個別のファイル名、レポート、スクリーンショット、トレース、ビデオを一緒に保持します。 - ヘルパーが親ディレクトリの選択を管理します。既存の出力制御、ゲート、ビューポート、録画オプションを保持し、最終レポートで返されたパスを使用します。
- 失敗した試行と成功した試行の両方を保持します。レビュー後に所有する正確なディレクトリのみをクリーンアップします。共有アーティファクトの親をクリアしたり、以前の証明を上書きしたりしないでください。
- タイムアウト診断は、既存の診断親の新しい子を使用します。Mantisはすべての試行を保持します。Real-Gateway、
chat-outbox-*、chat-attachment-read-lifecycleスイートには個別の所有者がいます。再生安全なキャプチャを主張する前に、それらの保持動作を確認してください。
フォーカスされたテストの実行
package.json の現在のスクリプトとテストポリシーを使用します。ワークツリーのフォーカスされたブラウザテストの場合:
node scripts/run-vitest.mjs run --config test/vitest/vitest.ui-e2e.config.ts --configLoader runner ui/src/e2e/chat-flow.messaging.e2e.test.ts