RageClick は何をしますか?
URL とユーザーの目標を、約束された動作を壊す短く再現可能なシーケンスに変換します。既存のブラウザツールを使用して実際のページを検査し、バンドルされた Playwright ランナーで再現可能な証拠を生成します。このスキルはビジュアルデザインを評価したり、実際のユーザー調査を代表するものではありません。
スコープと成功基準
所有するフィクスチャ、ローカルアプリ、または明示的に許可されたテスト環境のみで動作します。バンドルされたランナーはループバック URL のみを受け付け、新しいブラウザコンテキストを開始し、同一オリジン外へのリクエストをブロックします。ローカルアプリはそのサーバーを介して実際のバックエンドを変更する可能性があります。提出前に合成データと使い捨てアカウントを準備してください。購入、メッセージ送信、貴重なデータの削除、アクセス設定の変更は行わないでください。既存の許可は合意されたワークフローのみをカバーします。
ユーザーの目標と観察された UI から、1 つの具体的な不変条件を特定します(1 つのプロジェクトの 1 つの提出意図、無効なファイルからの回復、約束された保存後も存続する下書きなど)。契約が曖昧な場合は、欠陥をでっち上げる代わりに、観察を記録するか、その特定の動作について質問してください。アプリケーションのバージョンまたはコミットを記録し、利用できない場合は unknown を使用します。
探索、摂動、再生
-
利用可能なブラウザツールまたはターゲットソースを使用して現在のページを検査します。実際の証拠から安定したラベル、ロール、またはテスト ID を選択します。最初に通常の成功ワークフローを実行します。それが完了できない場合は、その前提条件を解決するか、別途報告します。
-
references/plans.md を読んで JSON プランを作成します。references/perturbations.md から該当するテンプレートを選択します。ケースごとに 1 つの次元のみを変更します。新しいブラウザコンテキストはブラウザの状態を分離しますが、サーバーデータには既知のリセットまたは一意の使い捨てアカウントが必要です。新しいブラウザがデータベースをリセットするとは想定しないでください。
-
このスキルディレクトリから、
npm ciとnpx playwright install chromiumを実行した後、以下を実行します:node scripts/run.mjs --url http://127.0.0.1:3000 --plan /absolute/path/case.json --out /absolute/path/evidence --app-version COMMIT出力ディレクトリは新規である必要があります。ランナーは、読み取り可能なレポート、正確なプラン、ステップ結果、スクリーンショット、トレース、ビデオ、リプレイスクリプトを書き込みます。目標やセレクタを単独で推測することはできません。その作業はスキルが行います。生成された証拠は、永続的な例として要求されない限り、ターゲットリポジトリの外に保持してください。
-
observed_failureはアサーションの不一致として扱い、確定した根本原因とは見なしません。同じケースを新しい状態で少なくとも 2 回繰り返してから、再現可能と呼んでください。失敗と成功の両方をキャプチャし、矛盾する再実行を決して破棄しないでください。execution_errorは、アクション、セレクタ、ブラウザ、または境界が失敗したことを意味し、製品の証拠ではありません。主観的な UX コメントは、客観的なアサーションとは別に記録してください。 -
失敗を変更せずにシーケンスを最小化し、
replay.mjsを回帰コマンドとして使用します(終了コード 0: 成功、1: アサーション不一致、2: 実行/設定エラー)。アプリの修正が許可されている場合は、修正されたバージョンに対して同一のプランを再実行し、通常のパスがまだ成功することを確認します。合格結果をでっち上げるためにアサーションを決して変更しないでください。
違反した契約、実際の状態と期待される状態、発生回数、アプリ/ブラウザのバージョン、正確なコマンドと証拠のパスを報告してください。ビデオ、トレース、ベースライン、リセット、または再現性が欠けている場合はその旨を明記してください。キャプチャを共有する前に、資格情報と個人データを編集してください。トレースには完全なリクエスト/レスポンスデータが含まれる可能性があります。このスキルは公開や外部メッセージの送信を意味するものではありません。
制限
ランナーは Chromium、CSS セレクタ、ネイティブポインタイベント、合成インラインファイル、および制限付きリクエスト遅延を使用します。リクエスト遅延は帯域幅の制限やパケット損失ではありません。リモートステージング、HTTP リダイレクト(同一オリジンリダイレクトを含む)、ストリーミングレスポンス、マルチオリジンログイン、サービスワーカー、WebSocket、または任意の JavaScript を自動化することはできません。レスポンスは Playwright を介してバッファリングされ、リダイレクトとトランスポート再試行は無効になっているため、ストリーミングとネットワークタイミングの忠実度は制限されます。ブラウザの資格情報と Set-Cookie ポリシーのテストもサポートされていません。API トランスポートはブラウザの fetch とは異なる方法でレスポンス Cookie を保存する可能性があります。サポートされていないワークフローには、既に利用可能で許可されているブラウザツールを使用し、同じ証拠契約を維持し、サポートされていない摂動を明示的にマークしてください。テストを成功させるためにランナーのオリジン境界を弱めないでください。