Playwright(プレイライト)は、Microsoftが開発する無料のテストツールです。そのテストエージェントは、テストの計画・作成・修正を3つのエージェントに分担させる機能です。対象はE2Eテスト(利用者の操作を最初から最後まで通して確かめるテスト)で、予約や問い合わせの画面に向いています。
この記事でわかること
- エージェントが読むのは画面の見た目ではなく、画面の構造を文字で書き出した一覧(アクセシビリティツリー)です
- ボタンの名前を変えた場合も、不具合を仕込んだ場合も、エラーはどちらも探す要素が見つからないというものでした
- 修正をAIに任せる場合も、業務ルールのテストの期待値は人が決めておきます
この記事の目次(4節)
Planner・Generator・Healerの3つのエージェント
3つのエージェントは、同じAIに役割の違う指示を与えたものです。Planner(計画役)がアプリを操作してテスト計画を立て、Generator(作成役)が計画をもとにテストのコードを書きます。Healer(修復役)は、失敗したテストを再実行して原因を調べ、テストを修正します。1
この機能は、2025年10月公開のバージョン1.56で加わりました。Claude CodeやVS Code上のGitHub Copilotなど、使うAIツールに合わせて設定ファイルを作れます。2 Playwright本体はオープンソースソフトウェアで、Apache License 2.0(著作権表示などを守れば、商用でも無料で使える)で公開されています。3
2026年9月28日には、開発会社の技術者が、技術記事の投稿サイトZennで3つのエージェントの使い方を紹介しました。GitHub Actions(GitHub上で処理を自動実行する仕組み)から動かす構成です。5 筆者のAlam Shafiul氏は、Healerが期待値を書き換えたりテストをスキップしたりするおそれを指摘しています。そのため、Healerが書き換えられるファイルを、テスト以外の部品に限っています。
エージェントが使うツールを試した結果
9月4日に公開された最新版のPlaywright 1.63.0を使い、9月30日にLinuxで試しました。4 3つのエージェントそのものは動かしていません。エージェントが使うツールを、人が1つずつ動かしました。
題材として、氏名・メールアドレス・希望日・時間帯を入力する、架空の整骨院の予約フォームを用意しました。日曜を選ぶと「日曜は休診です」と表示する判定を入れています。
作られるファイルとツール
Claude Code向けに初期化すると、3つのエージェントの定義ファイルと、ブラウザーを操作するツールの設定ファイルが作られました。ツールは89種類あり、各エージェントには16〜25種類が割り当てられています。
| 試したこと | 結果 |
|---|---|
| エージェントに渡る画面の情報を見た | 見出し・入力欄のラベル・ボタンの名前の一覧。入力した氏名やメールアドレスも含まれた |
| 操作を記録した | 氏名を入力する、送信ボタンを押すといった操作が、1つずつテストのコードとして記録された |
| ボタンの名前を「予約を送信」から「予約する」に変えた(表示の変更) | テスト2本とも失敗。30秒待って時間切れになり、「予約を送信」ボタンが見つからないと出た |
| 日曜の判定を消した(不具合) | 1本が失敗。「日曜は休診です」が見つからないと出た。画面には「予約を受け付けました」と表示されていた |
表の1行目のとおり、入力欄にラベルが設定されていない画面では、エージェントが操作する欄を取り違えやすくなると考えられます。
エラーの内容だけでは、不具合かどうか見分けられない
ボタンの名前を変えた場合は、テストを直すのが正解です。日曜の判定を消した場合は、アプリを直すのが正解です。ところが、エラーはどちらも、探す要素が画面に見つからないというものでした。
失敗したときに出力されるエラー情報には、AIに向けて「原因を説明し、修正したコードを示すこと」という指示が付いていました。テストを直す前提の指示です。
Healerの定義ファイルには、期待値の修正が役割の1つとして書かれています。直してもエラーが消えず、Healerがテストの内容は正しいと判断した場合は、test.fixme(要修正の印を付けて実行しない)でスキップしてよいともあります。「作業を頼んだ人に質問しない」という指示もあり、確認を求めずに進める作りです。
例えば、日曜の予約を受け付けてしまう不具合があるときに、Healerが期待値を「予約を受け付けました」に書き換えたとします。テストは通るようになりますが、不具合は見過ごされます。
Healerに任せてよいテストと、任せないテスト
任せてよいのは、画面のデザインや文言がよく変わる部分のテストです。ボタンの名前や配置が変わるたびに失敗するテストは、AIに直させられます。予約の画面でも、ボタンや入力の流れを確かめる部分には合います。
任せないのは、料金の計算や予約の締め切りのような業務ルールのテストです。ルールどおりに動いているかは、画面の表示からは判断できません。こうしたテストの期待値は人が決め、AIには書き換えさせないようにします。
開発を頼む前に聞いておくこと
Playwrightとテストエージェントは無料です。ただし、エージェントを動かすには、Claude CodeやGitHub Copilot(AIがコードを書くのを手伝うサービス)など、別途契約するAIツールが必要です。費用は、そのツールの料金プラン次第です。
開発会社には、次の3点を聞いておきましょう。
- Healerが直したテストを、誰が確かめるか。 Healerが期待値を書き換えたら、人が見てから反映する手順があるか
- 本番のデータを使わないか。 エージェントには入力した値を含む画面の情報が渡るため、ダミーデータを入れたテスト環境で動かすか
- Plannerが使えるツールを絞っているか。 Plannerには、任意のコードを実行できるツール(説明に「Unsafe」とある)が割り当てられています
失敗の原因の多くがボタンの名前や配置の変更なら、Healerに任せてよい範囲は広がります。業務ルールのテストが多いなら、Healerにはテストを書き換えさせず、失敗の報告だけを受け取る形から始めるのが無難です。テストが本当に不具合を拾えるかは、わざと壊して失敗させる考え方で説明しています。AIが書いたものを別のAIに点検させるときの注意点は、AIにレビューさせるときに外すツールにまとめました。個人の試作と業務での開発で扱いがどう違うかは、AI駆動開発とVibe Codingの違いで比べています。
出典
- Playwright「Playwright Test Agents」(参照 2026-09-30)
- Playwright「v1.56.0」(GitHub、2025年10月6日)(参照 2026-09-30)
- Playwright(GitHubのリポジトリ)(参照 2026-09-30)
- Playwright「v1.63.0」(GitHub、2026年9月4日)(参照 2026-09-30)
- Alam Shafiul「Playwright Test Agents × GitHub Actions:E2E テスト生成・修復の自動化」(Zenn、2026年9月28日)(参照 2026-09-30)

