microsoft/playwright
Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.
Playwright – テストとAIエージェント向けブラウザ自動化
何であるか
PlaywrightはMicrosoftがメンテナンスしているオープンソースのフレームワークで、JavaScript/TypeScript(およびPython、.NET、Java)からChromium、Firefox、WebKitを制御できます。主にウェブ自動化とエンドツーエンドテストのライブラリですが、READMEにはAIエージェント(Claude、Copilotなど)が同じブラウザ制御を活用できる特別なツールも紹介されています。
コアコンポーネント
| コンポーネント | 対象ユーザー | インストール方法 | 機能 |
|---|---|---|---|
| Playwright Test | QAエンジニア、エンドツーエンドテストを書く開発者 | npm init playwright@latest または npm i -D @playwright/test |
並列実行、自動待機、組み込みロケータ、トレース、隔離されたブラウザコンテキストを備えたテストランナー。 |
| Playwright CLI | 軽量なコマンドインターフェースが必要なコーディングアシスタントエージェント | npm i -g @playwright/cli |
エージェントがフルスキーマを読み込まずに呼び出せるシンプルなコマンド(open、type、screenshotなど)。 |
| Playwright MCP | 確定的でスキーマベースのブラウザ制御を希望するLLM駆動エージェント | npx @playwright/mcp@latest(またはVS Code拡張) |
Model Context Protocolサーバーを実行し、ページをアクセシビリティツリーとして公開;エージェントは要素参照(e5、e10)で対話。 |
| Playwright Library | カスタムスクリプト(スクレイピング、PDF生成、デバイスエミュレーションなど)を書く人 | npm i playwright |
ブラウザの起動、ナビゲーション、スクリーンショット、PDF生成、ネットワークのインターセプト、デバイスエミュレーションなど、低レベルAPI。 |
| VS Code拡張 | IDE UIを好む開発者 | Marketplaceからインストール | テストの実行/デバッグ、CodeGenによるコード生成、ロケータの選択、トレースの表示のためのUI。 |
AI/LLM作業において重要な理由
- MCPサーバーはページを構造化されたビュー(アクセシビリティツリー)として提供し、モデルが視覚を必要とせずに正確な操作(
click e5)を発行できるようにします。これにより、フルスクリーンショットを送信する際のトークンの膨張を回避できます。 - CLIはトークン効率の良いブリッジです:エージェントは短いコマンドを発行し、CLIがそれをPlaywrightアクションに変換します。
- 伝統的なテストとAI駆動の自動化の両方に同じ下位のブラウザエンジンが使用されるため、一貫性が保たれます。
一般的なワークフロー(テスト)
- インストール
npm init playwright@latest– テストランナーを含むプロジェクトを作成し、ブラウザをインストール。 - テストの作成
testとexpectAPIを使用。page.getByRole('button', {name:'Submit'})のようなロケータはUI変更に強く耐えます。 - 実行
npx playwright test。テストはブラウザ間で並列実行され、各テストは独立したコンテキストで実行されます。 - デバッグ 組み込みトレース(
trace: 'on-first-retry')とTrace Viewer UIを使用。
一般的なワークフロー(LLMエージェント)
- MCPの起動
npx @playwright/mcp@latest(またはVS Codeサーバーをインストール)。 - エージェントの設定 MCPサーバーへの接続を指定。
- プロンプト LLMに:「https://demo.playwright.dev/todomvc に移動し、3つのアイテムを追加してください。」
- モデルはアクセシビリティスナップショットを受け取り、要素参照を選択し、MCPにアクションを送信。MCPが実際のブラウザで実行します。
言語とプラットフォーム
- Node.js(主に) – 上記のすべての機能。
- Python、.NET、Java – 言語固有のバインディングを通じて同じ自動化機能。
- Linux、macOS、Windowsでヘッドレスまたはヘッド付きで動作。
詳細情報の入手先
- ドキュメントとAPIリファレンス – https://playwright.dev
- MCPサーバーのリポジトリ – https://github.com/microsoft/playwright-mcp
- CLIリポジトリ – https://github.com/microsoft/playwright-cli
- VS Code拡張 – README内のMarketplaceリンク。
- Discordコミュニティ – https://aka.ms/playwright/discord
TL;DR
Playwrightはプロダクションレベルのブラウザ自動化ツールキットであり、エンドツーエンドテストを実行するだけでなく、MCPサーバーとCLIを通じて、視覚的な曖昧さなしにLLM駆動エージェントがブラウザを制御できるクリーンで構造化されたインターフェースを提供します。目的に合ったコンポーネントをインストールし、テストやプロンプトを書くだけで、PlaywrightがChromium、Firefox、WebKitを駆動する重い作業を処理します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト