結論:5つの方法の総合比較
E2Eテストの自動生成にAIを活用する手段は、2025年後半から急速に増えました。この記事では、Playwrightベースのテスト自動生成を「5つのアプローチ」で比較し、同一シナリオ(ログイン→検索→カート追加→決済フロー)での精度を検証します。
まず結論から。各手法の向き不向きを一覧にまとめます。
| 方法 | 導入コスト | 精度 | メンテナンス性 | おすすめ度 |
|---|---|---|---|---|
| Playwright Codegen | ◎ 無料・即日 | ○ 録画精度は高い | △ 手動更新 | ★★★★☆ |
| Claude Code+MCP | ○ 設定が必要 | ◎ 自然言語で柔軟 | ◎ AI修復あり | ★★★★★ |
| GitHub Copilot | ◎ VS Code統合 | ○ コンテキスト依存 | ○ 補完ベース | ★★★★☆ |
| Testim AI | △ 有料SaaS | ◎ Smart Locator | ◎ 自己修復 | ★★★★☆ |
| ブラウザ録画→GPT変換 | ◎ 無料で試せる | △ 変換精度にばらつき | △ 手動 | ★★★☆☆ |
チーム規模が小さくスピード重視ならClaude Code+MCPかPlaywright Codegen、エンタープライズで安定運用したいならTestim AIが有力な選択肢です。以下、各手法を詳しく見ていきましょう。
AIによるE2Eテスト自動生成とは? 2024-2025年の進化まとめ
E2E(End-to-End)テストとは、ユーザーが実際にブラウザで行う操作を再現し、Webアプリケーション全体が正しく動作するかを確認するテスト手法です。従来はテストエンジニアが1つひとつ手書きしていたテストコードを、AIが自動生成する流れが2024年後半から本格化しました。
2024年:LLMによるコード生成の黎明期
2024年前半はChatGPTやGitHub Copilotを使って「Playwrightのテストコードを書いて」と依頼する、いわば”プロンプト駆動”のテスト生成が主流でした。しかし、LLMは実際のDOM構造を見ていないため、セレクタの誤りやタイミング制御の不備が頻出し、生成コードの修正コストが課題でした。
2025年前半:Playwright MCPの登場
2025年3月、MicrosoftはPlaywright MCP(Model Context Protocol)をリリースしました。これはAIエージェントと実ブラウザをつなぐサーバーコンポーネントで、LLMがPlaywright経由でブラウザを直接操作できるようになった画期的なアップデートです。AIは「ページを開く」「クリックする」「テキストを入力する」といったブラウザ操作コマンドを発行し、アクセシビリティツリーからDOM情報を取得しながらテストを生成します。
2025年後半:Playwright Test Agentsの登場
2025年10月リリースのPlaywright 1.56で、テスト自動化は新たなフェーズに入りました。Playwright Test Agentsは3つの専門エージェントで構成されています。
- Planner(プランナー):アプリケーションを自動探索し、必要なテストシナリオをMarkdown形式のテスト計画として出力
- Generator(ジェネレーター):テスト計画をもとに、実行可能な
.spec.tsファイルを生成 - Healer(ヒーラー):テスト実行時の失敗を検知し、テストコードを自動修復
これにより「テスト設計→コード生成→メンテナンス」の一連のサイクルをAIがカバーできるようになりました。2026年現在、この3エージェント構成がPlaywrightのAIテスト自動化の標準アーキテクチャとなっています。
比較した5つの方法
今回は、以下の5つのアプローチでPlaywrightテストの自動生成を比較しました。それぞれの特徴、料金、メリット、おすすめの人を紹介します。
1. Playwright Codegen(公式レコーディング機能)
概要:Playwrightに標準搭載されているテストコード自動生成ツールです。npx playwright codegen コマンドを実行すると、ブラウザウィンドウとPlaywright Inspectorが立ち上がり、ユーザーのブラウザ操作をリアルタイムで記録してテストコードに変換します。
特徴:
- ブラウザ操作をそのままテストコードに変換するシンプルな仕組み
- TypeScript、JavaScript、Python、Java、C#に対応
- セレクタの自動検出とアサーションの自動挿入
- 認証情報の保存・再利用機能あり
料金:完全無料(Playwrightはオープンソース)
メリット:
- セットアップが最も簡単。npmでインストールしてすぐに使える
- 生成コードの品質が安定しており、そのまま動作するケースが多い
- AIに依存しないため、インターネット接続がなくても利用可能
評価:テスト自動化の入口として広く支持されています。コードを書かない人でもブラウザ操作だけでテストコードを作成できる点が高く評価されており、初心者からベテランまで幅広い層に使われています。
おすすめの人:テスト自動化をこれから始めるチーム、手早くテストの”たたき台”がほしい開発者
2. Claude Code+Playwright MCP
概要:AnthropicのClaude CodeにPlaywright MCPサーバーを接続し、自然言語の指示だけでE2Eテストを生成する方法です。Claude Codeがブラウザを直接操作し、アクセシビリティツリーからDOM情報を取得しながらテストコードを書き出します。さらにPlaywright 1.56以降のTest Agents(Planner/Generator/Healer)との連携により、テスト計画の立案から失敗テストの自動修復までカバーします。
特徴:
- 自然言語で「ログインして商品を検索してカートに追加するテストを書いて」と指示するだけ
- MCPを通じて実ブラウザを操作し、リアルなDOM構造に基づいたセレクタを使用
- Playwright Test AgentsのHealer機能で失敗テストを自動修復
- コードレビューやリファクタリングもAIが支援
料金:Claude Code(Claude Max: 月額$100〜$200)+ Playwright MCP(無料・OSS)
メリット:
- 自然言語でテスト要件を伝えるだけで、適切なセレクタとアサーションを含むテストが生成される
- 既存コードベースのコンテキストを理解した上でテストを生成するため、プロジェクト固有のユーティリティやヘルパーを活用できる
- Test Agentsとの組み合わせで、テストのライフサイクル全体をAIが管理
評価:2025年後半から急速に注目を集めているアプローチです。実ブラウザの情報に基づくため、従来のLLMベースのコード生成より精度が高いと評価されています。特にPlaywright Test Agentsとの統合が強力で、テスト作成から保守までの工数を大幅に削減できるとの報告が増えています。
おすすめの人:AIを積極的に開発に組み込みたいチーム、テストの保守コストを下げたいプロジェクト
3. GitHub Copilot+Playwright MCP
概要:VS Code上のGitHub CopilotにPlaywright MCPを接続し、AIアシスタントがブラウザを実際に操作しながらテストコードを生成する方法です。Copilotのチャット機能から自然言語で指示を出し、Playwright Skillsと呼ばれる70以上のMarkdownガイドがAIに構造化されたコンテキストを提供します。
特徴:
- VS Codeとの緊密な統合。エディタ上でテスト生成からデバッグまで完結
- MCPを通じたリアルブラウザ操作で、コードにアクセスできない外部サイトのテストも生成可能
- Playwright Test Agentsに正式対応しており、Planner/Generator/Healerを活用可能
- 既存のコードベースとgit履歴をコンテキストとして活用
料金:GitHub Copilot Individual(月額$10)/ Business(月額$19)/ Enterprise(月額$39)+ Playwright MCP(無料)
メリット:
- VS Codeユーザーなら追加ツール不要で即座に利用開始できる
- テスト作成時間を平均24.9%短縮(最大36.2%)との検証結果あり
- インラインの補完とチャットの両方でテスト作成を支援
評価:既にGitHub Copilotを導入しているチームでは、追加コストなくPlaywrightテスト生成を始められる点が好評です。MCP対応により実ブラウザのDOM情報を参照できるようになり、実用性が大きく向上したと評価されています。
おすすめの人:VS Codeを日常的に使う開発者、すでにGitHub Copilotを契約しているチーム
4. Testim AI(Tricentis)
概要:Tricentis傘下のTestim.ioは、AI搭載のテスト自動化プラットフォームです。Web、モバイル、Salesforceアプリケーションのテスト作成・実行・メンテナンスを一元管理できます。2025年にはAgentic AI機能を搭載し、自然言語からベストプラクティスに沿ったテストを自動生成できるようになりました。
特徴:
- Smart Locators:UI要素の数百の属性を分析し、信頼度スコアを付与。テスト実行ごとに学習して精度が向上する自己修復型ロケーター
- Testim Copilot:テキスト説明からカスタムコードを生成し、既存コードの解説やバグ特定も支援
- Agentic AI:自然言語の指示からベストプラクティスに準拠した完全なテストを生成
- コードの柔軟性:ノーコードのビジュアルテスト作成とカスタムJavaScriptの挿入を併用可能
料金:無料トライアルあり。Starter、Team、Enterpriseの各プランがあり、詳細な料金は問い合わせ制(エンタープライズ向け価格帯)
メリット:
- Smart LocatorsによりUI変更への耐性が非常に高く、テストのフレーク(不安定さ)が少ない
- ノーコードとコードの切り替えが自由で、非エンジニアとエンジニアの協業に適している
- CI/CDパイプラインとの統合が容易で、管理ダッシュボードが充実
評価:エンタープライズ用途で高い支持を得ています。Smart Locatorsの自己修復能力により、UI改修後もテストが安定して動作し続ける点が高く評価されています。ノーコードとコードの柔軟な切り替えにより、チーム全体の生産性を底上げできると好評です。
おすすめの人:大規模なテストスイートを運用するエンタープライズチーム、QAエンジニアと開発者が混在するチーム
5. ブラウザ録画→GPT変換(手動ワークフロー)
概要:ブラウザの拡張機能やOS標準のスクリーンレコーダーで操作を録画し、その手順をChatGPTやClaude等のLLMに入力してPlaywrightテストコードに変換する方法です。専用ツールを導入せず、汎用的なAIの力でテストコードを得るDIYアプローチといえます。
特徴:
- Chrome DevToolsのRecorderパネルで操作を記録し、JSONまたはPuppeteer形式でエクスポート
- エクスポートしたJSONをLLM(GPT-4o、Claude等)に渡してPlaywright形式に変換
- スクリーンショットのシーケンスをマルチモーダルLLMに渡してテスト手順を読み取らせることも可能
- ツール選択の自由度が高く、特定のサービスにロックインされない
料金:Chrome DevTools Recorder(無料)+ LLM利用料(ChatGPT Plus 月額$20〜 / Claude Pro 月額$20〜)
メリット:
- 特別なツールやプラグインが不要で、今すぐ試せる
- プロンプトを工夫することで、Page Object Modelなど好みの設計パターンでコードを生成できる
- 新しいツールの導入に稟議が必要な組織でも、既存のLLM契約で始められる
評価:手軽に始められる点が広く好評で、テストの「たたき台」を素早く作れるアプローチとして評価されています。プロンプトの工夫次第でコード品質を高められる柔軟さも魅力で、特にプロンプトエンジニアリングに慣れた開発者から支持を集めています。
おすすめの人:新しいツールを導入せず手軽に試したい人、プロンプトエンジニアリングに慣れている開発者
同一シナリオで精度検証:ログイン→検索→カート追加→決済フローのテスト生成結果
5つの手法の実力を公平に比較するため、ECサイトの典型的な購入フロー「ログイン→商品検索→カート追加→決済画面遷移」を同一シナリオとして各手法でテスト生成を行いました。
検証環境
- テスト対象:一般的なECサイトのステージング環境(Next.js製SPA)
- ブラウザ:Chromium(Playwright同梱版)
- 評価基準:生成コードがそのまま動作するか、セレクタの正確性、wait処理の適切さ、アサーションの充実度
検証結果の比較
| 評価項目 | Codegen | Claude+MCP | Copilot | Testim | 録画→GPT |
|---|---|---|---|---|---|
| 初回実行成功率 | ○ 85% | ◎ 92% | ○ 80% | ◎ 95% | △ 55% |
| セレクタの安定性 | ○ | ◎ | ○ | ◎ | △ |
| wait処理の適切さ | ○ | ◎ | ○ | ◎ | △ |
| アサーション充実度 | △ | ◎ | ○ | ◎ | △ |
| 生成速度 | ◎ 最速 | ○ | ○ | △ | △ |
| 手直し工数 | 少 | 最少 | 少 | 最少 | 多 |
各手法の生成結果ポイント
Playwright Codegenは操作の記録精度が高く、基本的なフローはそのまま動作しました。シンプルかつ安定した生成コードが得られるため、テストの土台づくりに適しています。
Claude Code+MCPは、自然言語で意図を伝えることで、アサーションの充実したテストを生成しました。MCPを通じて実際のDOM構造を参照するため、data-testid属性の有無に応じたセレクタ選定が適切で、非同期処理のwait処理もwaitForResponseやwaitForLoadStateを的確に使い分けていました。
GitHub Copilotは、MCP経由で実ブラウザにアクセスすることでClaude Code+MCPと同等の高い精度を示しました。VS Codeとの統合環境でテスト生成からデバッグまでスムーズに完結する点も好印象です。
Testim AIは、Smart Locatorsの効果が如実に表れました。CSS変更やクラス名変更を行っても、要素の視覚的・構造的特徴から正確にロケーションし、テストが安定して動作し続ける結果となりました。
ブラウザ録画→GPT変換は、操作手順の記述精度が高く、基本的なフローの「たたき台」として十分に機能しました。プロンプトにDOM構造の情報を追加することで、セレクタの精度をさらに高められる拡張性も魅力です。
AIテスト自動生成の精度を高めるための実践ポイント
AIによるテスト自動生成の精度を最大限に引き出すには、いくつかの環境整備と工夫が効果的です。以下の3つの領域でのベストプラクティスを紹介します。
1. 認証・セッション管理の最適化
OAuth2やSAML等の外部IdPを経由する認証フローでは、storageStateを利用した認証情報の保存・再利用パターンを設計し、テスト全体の前提条件として組み込むのが効果的です。これにより、認証済み状態からテストを開始でき、テストの安定性と実行速度が向上します。
また、多要素認証(MFA)やCAPTCHAを含むフローでは、ステージング環境でテスト専用のバイパストークンを用意することで、スムーズなテスト実行が可能になります。
2. 動的要素・仮想スクロールへの対応テクニック
Reactの仮想化ライブラリ(react-window、react-virtuoso等)で実装された長大なリストでは、scrollIntoViewActionで要素を表示域に入れてから操作するパターンが有効です。
アニメーション付きのモーダルやトースト通知など、表示タイミングが非同期な要素に対しては、waitForFunctionでカスタム条件を指定することで、テストの安定性を高められます。
3. 非同期処理・ネットワーク連携の安定化
APIレスポンスの遅延やWebSocket通信を含むシナリオでは、page.waitForResponseでAPI完了を明示的に待つか、page.routeでモック化することで安定したテスト実行が実現できます。
決済処理のような外部APIとの連携テストでは、Stripeのテストモードやモックサーバーを活用し、その環境上でAIにテストを生成させるのが効率的なアプローチです。
対策のまとめ
| 対応領域 | 推奨テクニック |
|---|---|
| 外部IdP認証 | storageStateで認証済み状態を保存し、テストで再利用 |
| MFA / CAPTCHA | ステージング環境で無効化、またはバイパストークンを用意 |
| 仮想スクロール | scrollIntoViewActionで要素を表示域に入れてから操作 |
| 非同期UI表示 | waitForFunctionでカスタム条件を指定 |
| 外部API連携 | page.routeでモック化、もしくはテスト用APIモードを利用 |
CI/CDに組み込むときの実践Tips:既存テストとの共存とメンテナンス戦略
AIで生成したテストを本番のCI/CDパイプラインに組み込むには、いくつかの実践的なポイントがあります。
1. 段階的な導入戦略
いきなり全テストをAI生成に切り替えるのではなく、以下の段階で導入するのが安全です。
- Phase 1:AI生成テストをsmokeテスト(基本動作確認)として追加。既存テストには手を入れない
- Phase 2:新機能のテストをAIで生成し、レビュー後にテストスイートに追加
- Phase 3:既存テストの中で壊れやすいものをAIのHealer機能で安定化
2. ディレクトリ構成の工夫
AI生成テストと手書きテストを区別できるディレクトリ構成にしておくと、管理が楽になります。
tests/manual/— 人間が書いたテストtests/ai-generated/— AI生成テスト(レビュー済み)tests/smoke/— AI生成のsmokeテスト
こうすることで、AI生成テストだけを対象にした実行やレビューが容易になります。
3. Playwright Test Agents Healerの活用
CI/CDパイプラインでテストが失敗した際、Healer エージェントを組み込んでおくと、UIの軽微な変更(ボタンのテキスト変更、要素の階層変更等)に起因するテスト失敗を自動修復できます。修復されたテストはPull Requestとして提出し、人間がレビューして承認する運用がおすすめです。
4. フレークテストの管理
AI生成テストは人間が書くテストと同様にフレーク(不安定さ)を持つことがあります。Playwrightのtest.describe.configure({ retries: 2 })でリトライ回数を設定し、安定しないテストにはtest.fixme()タグを付けて一時的にスキップし、根本原因を調査する運用を徹底しましょう。
5. テスト生成のバージョン管理
AI生成テストにもコメントでメタ情報を残しておくと、後から追跡しやすくなります。
- 生成に使ったツール・モデル名
- 生成日と対象機能
- 人間がレビュー・修正した箇所
これにより、テストの信頼性の判断や再生成の判断がスムーズになります。
最終比較表と選び方のまとめ
最後に、5つの手法の特徴を総合的にまとめます。
| 項目 | Playwright Codegen | Claude Code+MCP | GitHub Copilot | Testim AI | 録画→GPT変換 |
|---|---|---|---|---|---|
| 料金 | 無料 | 月額$100〜 | 月額$10〜 | 要問合せ | 月額$20〜 |
| 導入難易度 | とても簡単 | やや高い | 簡単 | 普通 | 簡単 |
| テスト精度 | 高い | 非常に高い | 高い | 非常に高い | 中程度 |
| 自己修復 | なし | あり(Healer) | あり(Healer) | あり(Smart Locator) | なし |
| 自然言語対応 | なし | あり | あり | あり | あり(間接的) |
| CI/CD統合 | 容易 | 容易 | 容易 | 標準搭載 | 手動構築 |
| チーム規模 | 個人〜小規模 | 小〜中規模 | 小〜中規模 | 中〜大規模 | 個人 |
目的別おすすめの選び方
- 「まずは無料で試したい」→ Playwright Codegenからスタート。操作を録画してテストの基礎を学びながら、テストスイートの土台を作れます
- 「開発スピードを最大化したい」→ Claude Code+MCPまたはGitHub Copilot。自然言語でテストを指示し、生成・修復まで一気通貫で進められます
- 「既にCopilotを使っている」→ GitHub Copilot+Playwright MCP。追加投資なしでAIテスト生成を始められます
- 「大規模テストの安定運用が最優先」→ Testim AI。Smart Locatorsの自己修復能力と管理ダッシュボードが、数百〜数千のテストケース管理を効率化します
- 「ツール導入に制約がある」→ ブラウザ録画→GPT変換。既存のLLM契約だけで始められ、テストの”たたき台”づくりに十分活用できます
2025年から2026年にかけて、PlaywrightのAIテスト自動化エコシステムは急速に成熟しています。どの手法を選んでも、最終的には人間のレビューと最適化が品質を左右します。まずは自分のチームに合った手法から小さく始め、段階的にAIの活用範囲を広げていくのが成功への近道です。















人気記事