Playwrightとは?ブラウザ自動化・E2Eテストの使い方を徹底解説
オープンソースラボ編集部 ・ 2026年6月13日
「Webアプリのテストを自動化したい」「ブラウザ操作を自動化してデータ収集したい」——そんなニーズに応えるのがPlaywrightです。Microsoftが開発するオープンソースのブラウザ自動化・E2Eテストフレームワークで、GitHubスター数9万超を誇ります。SeleniumやCypressと何が違うのか、どんな場面で使えるのかを解説します。
Playwrightとは?3行でわかる概要
- 誰が作った?: Microsoft(Visual Studio Code・TypeScriptと同じ会社)
- 何ができる?: ChromiumやFirefox・WebKitを操作してWebテスト・スクレイピングを自動化
- なぜ人気?: 安定したテスト・豊富なデバッグ機能・マルチ言語対応
Playwrightは2020年にリリースされて以来、SeleniumやCypressに代わるモダンな選択肢として急速に普及しています。
Seleniumとの違い・Cypressとの比較
| 比較項目 | Playwright | Selenium | Cypress |
|---|---|---|---|
| 開発元 | Microsoft | Selenium HQ | Cypress.io |
| ブラウザ | Chromium/FF/WebKit | 全ブラウザ | Chromiumのみ |
| 言語対応 | JS/TS/Python/Java/.NET | 多言語 | JS/TSのみ |
| 速度 | 高速 | 低速 | 中速 |
| オートウェイト | 自動 | 手動設定必要 | 一部自動 |
| モバイルエミュレーション | ◎ | △ | ○ |
| 料金 | 完全無料 | 完全無料 | 一部有料 |
Playwrightの最大の特徴はオートウェイト機能です。従来のSeleniumでは「ボタンが表示されるまで〇秒待つ」というコードを手動で書く必要がありましたが、Playwrightは要素の出現を自動で待機するため、テストが不安定になりにくいです。
Playwrightの主な特徴・できること
マルチブラウザ対応: Chromium(Chrome/Edge)、Firefox、WebKit(Safari)の3エンジンを単一のAPIで操作できます。「ChromeでOKだがSafariで動かない」というバグの発見に役立ちます。
並列実行: テストをワーカーに並列分散して実行でき、大量のテストを高速に処理できます。
スクリーンショット・動画記録: テスト失敗時に自動でスクリーンショットと動画を保存します。バグの再現に役立ちます。
トレースビューア: テスト実行の全ステップをタイムライン形式で確認できる強力なデバッグツールです。
コード生成: playwright codegen コマンドを使えば、ブラウザを操作するだけでテストコードを自動生成できます。
インストールと基本的な使い方
インストール(1分)
npm init playwright@latest
このコマンドで必要なものが一括インストールされ、サンプルテストも生成されます。
シンプルなテスト例(TypeScript)
import { test, expect } from '@playwright/test';
test('トップページのタイトルを確認', async ({ page }) => {
await page.goto('https://example.com');
await expect(page).toHaveTitle(/Example/);
});
ブラウザ操作の例(スクレイピング)
const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
const title = await page.textContent('h1');
console.log(title);
主な活用シーン
WebアプリのE2Eテスト: ユーザーのクリック・入力・フォーム送信を自動化してテストします。リリース前の回帰テストに最適です。
スクレイピング: JavaScriptで動的に生成されるページのデータを取得できます。Seleniumより安定した動作が特徴です。
ビジュアルリグレッションテスト: スクリーンショットを比較してUIの変化を自動検知できます。
AIとの組み合わせ: ClaudeなどのAIと連携してブラウザ操作を自動化するMCP(Model Context Protocol)サーバーとしての活用も広がっています。
デメリット・注意点
学習コスト: Seleniumより新しいAPIを覚える必要があります。ただし公式ドキュメントが充実しており、日本語情報も増えています。
ブラウザバイナリの大きさ: Playwrightは独自のChromium・Firefox・WebKitバイナリをダウンロードします(合計約300MB)。CIでのセットアップ時間に影響します。
モバイルアプリ非対応: ネイティブのiOS/Androidアプリには対応していません。Webビューを含むハイブリッドアプリまでが対象です。
reCAPTCHA・Bot検知: スクレイピング目的での利用は、対象サイトの利用規約を必ず確認してください。
よくある質問
Q. PlaywrightはSeleniumより本当に速いですか?
はい、一般的にSeleniumより高速です。WebDriverプロトコルを使うSeleniumと比べ、PlaywrightはBrowserContextを使ってブラウザを直接制御するため、オーバーヘッドが少なくなります。
Q. CypressからPlaywrightへの移行は大変ですか?
基本的な操作のAPIは異なりますが、Cypressに慣れているなら数日〜1週間程度で移行できます。マルチブラウザテストや並列実行が必要になったタイミングが移行の最適機会です。
Q. Pythonでも使えますか?
はい。playwright-pythonパッケージを使えばPythonでも同じ機能を利用できます。
Q. 無料で商用利用できますか?
Apache-2.0ライセンスのため、商用プロジェクトへの組み込み・社内ツールへの利用は完全に無料です。
まとめ
Playwrightは、Microsoftが開発するモダンなブラウザ自動化・E2EテストOSSです。オートウェイト機能・マルチブラウザ対応・豊富なデバッグツールで、SeleniumやCypressからの移行が進んでいます。TypeScript/Python/Javaなど多言語に対応しており、WebアプリのE2Eテストから業務自動化・AIエージェントとの連携まで幅広く活用できます。まずnpm init playwright@latestで試してみましょう。
関連リンク・公式情報
ここで紹介したツールの一次情報(公式サイト・ソースコード)と、オープンソースラボ内の関連ページをまとめました。導入検討の際にご活用ください。
公式サイト・ソースコード(外部リンク)
オープンソースラボの関連ページ(内部リンク)
