𝗣𝗹𝗮𝘆𝘄𝗿𝗶𝗴𝗵𝘁 𝗕𝗲𝘀𝘁 𝗣𝗿𝗮𝗰𝘁𝗶𝗰𝗲𝘀: 𝟭𝟬 𝗥𝘂𝗹𝗲𝘀 𝗔𝗜 𝗔𝗴𝗲𝗻𝘁𝘀 𝗚𝗲𝘁 𝗪𝗿𝗼𝗻𝗴
AIエージェントは1分間に50個のPlaywrightテストを書くことができます。
しかし、このスピードは罠です。
それらのテストは、理由もなく失敗することがよくあります。AIエージェントは学習データから古いパターンをコピーします。彼らは昨夜あなたのテストが失敗したことを知りません。彼らは古い習慣を使います。
テストを安定させるために、以下の10のルールに従ってください。
ロールベースのロケーターを使用する
getByRole、getByLabel、またはgetByTextを使用してください。これらは人間が見るものと一致します。 AIのミス:エージェントはCSSやXPathを使用します。これらは、クラス名を一つ変更しただけで壊れてしまいます。Webファーストのアサーションを使用する
expect(locator).toBeVisible()を使用してください。これにより、ページが自動的に待機されます。 AIのミス:エージェントはawait page.waitForTimeout(3000)を追加します。固定待ち時間(Hard waits)はテストの不安定化(flaky)を招きます。テストを分離して保つ 各テストはクリーンな状態で開始する必要があります。フックを使用して状態をセットアップしてください。 AIのミス:エージェントはテストを連鎖させます。テスト1が失敗すると、ファイル全体が壊れてしまいます。
API経由でデータをシードする
requestフィクスチャを使用して、バックエンドに直接データを送信してください。 AIのミス:エージェントは1人のユーザーを作成するために、10個のUI画面をクリックして進みます。これにより、テストが遅くなり、壊れやすくなります。テストIDよりもロールを優先する まず
getByRoleを使用してください。data-testidはフォールバックとしてのみ使用します。 AIのミス:エージェントはあらゆるものにdata-testidを貼り付けます。これにより、ボタンにスクリーンリーダー用のラベルがないといったバグを見逃してしまいます。リトライ時にトレースを記録するように設定する 設定ファイルで
traceを'on-first-retry'に設定してください。 AIのミス:エージェントはトレースをオフにするか、あるいはすべての実行でオンにしたままにします。一方は証拠が不足し、もう一方はすべてを遅延させます。並列で実行する 並列モードとシャーディングを使用して、マシン間でテストを分割してください。 AIのミス:エージェントは単一のユーザーを共有するテストを書きます。これらのテストは並列実行時に互いに干渉し合います。
if文とtryブロックを削除する テストは単一のパスを辿るべきです。ボタンがあるべき場所なら、それをアサートしてください。 AIのミス:エージェントはエラーを避けるためにクリックをif文で囲みます。これは本当のバグを隠してしまいます。
内部構造ではなく、振る舞いをテストする 画面上の目に見える結果を確認してください。 AIのミス:エージェントはCSSクラスや状態変数に対してアサートします。これらはコードのリファクタリングのたびに壊れます。
ブラウザカバレッジのためにprojectsを使用する
projects配列を使用して、Chromium、Firefox、WebKitをテストしてください。 AIのミス:エージェントはブラウザをハードコードします。Safariでしか発生しないバグを見逃してしまいます。
AIは素早い初稿を書きますが、知恵が欠けています。
何も証明していない「パスした(緑色の)」テストスイートは危険です。それは偽りの安心感を生み出します。
AIにドラフトを書かせましょう。人間がこれらのルールを適用します。エージェントはスピードを、人間は安定性を提供します。
出典: https://dev.to/aiwithanton/playwright-best-practices-10-rules-ai-agents-get-wrong-2026-5cii
オプションの学習コミュニティ: https://t.me/GyaanSetuAi