mcpField
P
playwright

playwright

ローカル
playwright.devブラウザ自動化98.8k今日更新

playwright について

Playwrightは、開発者やAIエージェント向けのWeb自動化・テストフレームワークです。共通APIでChromium、Firefox、WebKitを操作でき、テストランナー、ライブラリ、CLI、VS Code拡張、MCPサーバーを備えています。

主な機能

  1. 01Chromium、Firefox、WebKitの自動操作
  2. 02分離と並列実行に対応したE2Eテスト
  3. 03自動リトライするアサーションとロケーター
  4. 04トレース、スクリーンショット、動画の記録
  5. 05CLIとVS Codeからのブラウザー操作
  6. 06スクリプト、PDF、画像向けライブラリ

活用シーン

  1. 01クロスブラウザーのE2Eテスト実行
  2. 02AIエージェントによるブラウザー作業の自動化
  3. 03トレースを使ったテスト失敗の調査
  4. 04WebページからのPDFや画像の生成

MCP 対応

Playwright MCPは、ナビゲーション、フォーム入力、スクリーンショット、ネットワークモック、ストレージ管理などのブラウザー操作ツールをMCPクライアントに公開します。エージェントは構造化されたアクセシビリティスナップショットを参照してページを操作します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"playwright-microsoft": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-slack"
],
"env": {
"SLACK_BOT_TOKEN": "<SLACK_BOT_TOKEN>",
"SLACK_TEAM_ID": "<SLACK_TEAM_ID>"
}
}
}
}
起動コマンドnpx -y @modelcontextprotocol/server-slack
設定が必要な環境変数
SLACK_BOT_TOKENシークレット
SLACK_TEAM_ID

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@modelcontextprotocol/server-slack

ツール

8

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
limitnumberいいえ返すチャンネル数の上限(デフォルト 100、最大 200)
cursorstringいいえ次のページの結果を取得するためのページネーションカーソル

詳細

🎭 Playwright

npm version Chromium version Firefox version WebKit version Join Discord

ドキュメント | API リファレンス

Playwright は、ウェブの自動化とテストのためのフレームワークです。単一の API を使って Chromium、Firefox、WebKit を操作でき、テストやスクリプト、AI エージェント向けのツールとして利用できます。

はじめに

ワークフローに合った方法を選択してください。

最適な用途インストール
Playwright Testエンドツーエンドテストnpm init playwright@latest
Playwright CLIコーディングエージェント(Claude Code、Copilot)npm i -g @playwright/cli@latest
Playwright MCPAI エージェントと LLM 駆動の自動化npx @playwright/mcp@latest
Playwright Libraryブラウザー自動化スクリプトnpm i playwright
VS Code ExtensionVS Code でのテスト作成とデバッグMarketplace からインストール

Playwright Test

Playwright Test は、エンドツーエンドテスト向けに構築された多機能テストランナーです。ブラウザーを完全に分離し、自動待機とウェブ優先のアサーションを備えて、Chromium、Firefox、WebKit でテストを実行します。

インストール
npm init playwright@latest

または、手動で追加します。

npm i -D @playwright/test
npx playwright install
テストを書く
import { test, expect } from '@playwright/test';

test('has title', async ({ page }) => {
  await page.goto('https://playwright.dev/');
  await expect(page).toHaveTitle(/Playwright/);
});

test('get started link', async ({ page }) => {
  await page.goto('https://playwright.dev/');
  await page.getByRole('link', { name: 'Get started' }).click();
  await expect(page.getByRole('heading', { name: 'Installation' })).toBeVisible();
});
テストを実行する
npx playwright test

テストは、設定したすべてのブラウザーで並列に実行されます。デフォルトではヘッドレスモードで動作します。各テストには新しいブラウザーコンテキストが割り当てられるため、オーバーヘッドをほぼゼロに抑えながら、完全に分離できます。

主な機能

自動待機とウェブ優先のアサーション。 人工的なタイムアウトは必要ありません。Playwright は要素が操作可能になるまで待機し、条件が満たされるまでアサーションを自動で再試行します。

ロケーター。 ユーザーから見たページに即した、堅牢なロケーターを使って要素を検索できます。

page.getByRole('button', { name: 'Submit' })
page.getByLabel('Email')
page.getByPlaceholder('Search...')
page.getByTestId('login-form')

テストの分離。 各テストは独自のブラウザーコンテキスト(新しいブラウザープロファイルと同等)で実行されます。認証状態を一度保存し、複数のテストで再利用できます。

// Save state after login
await page.context().storageState({ path: 'auth.json' });

// Reuse in other tests
test.use({ storageState: 'auth.json' });

トレース。 失敗時に実行トレース、スクリーンショット、動画を記録します。Trace Viewer では、すべての操作、DOM スナップショット、ネットワークリクエスト、コンソールメッセージを確認できます。

// playwright.config.ts
export default defineConfig({
  use: {
    trace: 'on-first-retry',
  },
});
npx playwright show-trace trace.zip

並列実行。 デフォルトで、設定したすべてのブラウザーにわたってテストを並列実行します。

テストに関するすべてのドキュメント


Playwright CLI

Playwright CLI は、コーディングエージェント向けに設計されたブラウザー自動化用のコマンドラインインターフェイスです。MCP よりもトークン効率に優れており、コマンドで大きなツールスキーマやアクセシビリティツリーをモデルのコンテキストに読み込まずに済みます。

インストール
npm install -g @playwright/cli@latest

より充実したエージェント連携を利用するには、スキルをインストールすることもできます。

playwright-cli install --skills
使い方

コーディングエージェントにタスクを指示します。

Test the "add todo" flow on https://demo.playwright.dev/todomvc using playwright-cli.
Take screenshots for all successful and failing scenarios.

または、コマンドを直接実行します。

playwright-cli open https://demo.playwright.dev/todomvc/ --headed
playwright-cli type "Buy groceries"
playwright-cli press Enter
playwright-cli screenshot
セッションのモニタリング

playwright-cli show を使うと、実行中のすべてのブラウザーセッションをライブのスクリーンキャストプレビューで確認できるビジュアルダッシュボードが開きます。セッションをクリックすると拡大表示でき、リモート操作も行えます。

playwright-cli show

CLI のすべてのドキュメント | GitHub


Playwright MCP

Playwright MCP サーバーは、Model Context Protocolを通じて、AI エージェントにブラウザーの完全な制御機能を提供します。エージェントは、構造化されたアクセシビリティスナップショットを使用してページを操作するため、ビジョンモデルやスクリーンショットは必要ありません。

セットアップ

MCP クライアント(VS Code、Cursor、Claude Desktop、Windsurf など)に追加します。

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@playwright/mcp@latest"]
    }
  }
}

VS Code 向けワンクリックインストール:

VS Code にインストール

Claude Code 向け:

claude mcp add playwright npx @playwright/mcp@latest
仕組み

AI アシスタントに任意のウェブページを操作するよう依頼します。

Navigate to https://demo.playwright.dev/todomvc and add a few todo items.

エージェントには、構造化されたアクセシビリティツリーとしてページが表示されます。

- heading "todos" [level=1]
- textbox "What needs to be done?" [ref=e5]
- listitem:
  - checkbox "Toggle Todo" [ref=e10]
  - text: "Buy groceries"

e5やe10などの要素参照を使って、クリック、入力、操作を視覚的な曖昧さなく確実に実行します。ツールには、ナビゲーション、フォーム入力、スクリーンショット、ネットワークのモック、ストレージ管理などが含まれます。

MCP ドキュメント全文 | GitHub


Playwright Library

playwrightをライブラリとして使い、ブラウザー自動化スクリプトを作成できます。ウェブスクレイピング、PDF 生成、スクリーンショットのキャプチャなど、テストランナーを使わずにプログラムからブラウザーを制御する必要があるワークフローに利用できます。

インストール
npm i playwright
使用例

スクリーンショットを撮影する:

import { chromium } from 'playwright';

const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto('https://playwright.dev/');
await page.screenshot({ path: 'screenshot.png' });
await browser.close();

PDF を生成する:

import { chromium } from 'playwright';

const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto('https://playwright.dev/');
await page.pdf({ path: 'page.pdf', format: 'A4' });
await browser.close();

モバイルデバイスをエミュレートする:

import { chromium, devices } from 'playwright';

const browser = await chromium.launch();
const context = await browser.newContext(devices['iPhone 15']);
const page = await context.newPage();
await page.goto('https://playwright.dev/');
await page.screenshot({ path: 'mobile.png' });
await browser.close();

ネットワークリクエストをインターセプトする:

import { chromium } from 'playwright';

const browser = await chromium.launch();
const page = await browser.newPage();
await page.route('**/*.{png,jpg,jpeg}', route => route.abort());
await page.goto('https://playwright.dev/');
await browser.close();

ライブラリのドキュメント | API リファレンス


VS Code Extension

Playwright VS Code 拡張機能を使うと、テストの実行、デバッグ、コード生成をエディター内で直接行えます。

エディターからワンクリックでテストを実行およびデバッグできます。ブレークポイントの設定、変数の確認、ライブブラウザービューを使ったテスト実行のステップ実行が可能です。

CodeGen でテストを生成します。「Record new」をクリックしてブラウザーを開きます。アプリ内を移動して操作すると、Playwright がテストコードを自動で作成します。

**ロケーターを選択します。**ブラウザー上の任意の要素にカーソルを合わせると、利用可能な最適なロケーターが表示されます。クリックするとクリップボードにコピーできます。

**Trace Viewer との統合。**サイドバーで「Show Trace Viewer」を有効にすると、各テスト実行後に、DOM スナップショット、ネットワークリクエスト、コンソールログ、各ステップのスクリーンショットを含む実行トレース全体を確認できます。

拡張機能をインストール | VS Code ガイド


クロスブラウザーのサポート

LinuxmacOSWindows
Chromium1 157.0.8103.15:white_check_mark::white_check_mark::white_check_mark:
WebKit 27.2:white_check_mark::white_check_mark::white_check_mark:
Firefox 158.0:white_check_mark::white_check_mark::white_check_mark:

すべてのプラットフォームで、ヘッドレスとヘッドありの実行に対応しています。1 デフォルトではChrome for Testingを使用します。

その他の言語

Playwright はPython、.NET、Javaでも利用できます。

リソース

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。