株式会社GENZが運営する技術ブログです。

  1. Playwright
  2. 24 view

Playwright導入ガイド|インストールから動作確認まで完全解説

Playwrightは、Microsoftが開発したモダンなWebアプリケーションのためのエンドツーエンド(E2E)テスト自動化フレームワークです。本記事では、Playwrightの導入方法を基礎から丁寧に解説します。Windows・MacOS両方の環境でのインストール手順、動作確認、そしてよくあるトラブルの対処法まで、実際のコマンドやコード例を交えながら説明していきます。

1. Playwrightとは

Playwrightの概要

Playwrightは、Webブラウザを自動操作してテストを実行するためのオープンソースのテスト自動化ツールです。Chromium、Firefox、WebKitの3つの主要ブラウザエンジンをサポートし、クロスブラウザテストを簡単に実現できます。

主な特徴

🌐
クロスブラウザ対応

Chromium、Firefox、WebKitをサポート

高速実行

並列実行やヘッドレスモードで効率的

🎯
自動待機機能

要素の表示を自動で待機

📱
モバイル対応

モバイルデバイスのエミュレーション

🔧
強力なデバッグ

UIモード・タイムトラベルデバッグ

🚀
CI/CD統合

各種CIツールと簡単に連携

Playwrightが選ばれる理由

💰 コスト面での優位性

Playwrightは完全無料のオープンソースツールです。MagicPod(月額数万円〜)やAutify(月額10万円〜)などの有料ツールと比較して、以下のコスト優位性があります:

  • 初期費用ゼロ: ライセンス費用や導入費用が一切不要
  • ランニングコスト不要: テスト実行回数による従量課金なし
  • スケーラブル: チーム規模に関わらず追加コスト不要
  • 自社インフラで完結: クラウドサービスへの依存なし

🎨 圧倒的な自由度とカスタマイズ性

有料のノーコード/ローコードツールと異なり、プログラミングによる柔軟な制御が可能です:

  • 複雑なシナリオに対応: 条件分岐、ループ、データ駆動テストなど自由に実装
  • 既存システムとの統合: API連携、データベース接続など自由に組み込み可能
  • カスタムフレームワーク構築: プロジェクト固有のテストフレームワークを構築可能
  • 拡張性: 独自のヘルパー関数やプラグインを追加できる

🛡️ Microsoftによる信頼性とサポート

Playwrightは大手IT企業Microsoftが開発・保守しており、高い信頼性があります:

  • 継続的なアップデート: 月次で新機能追加とバグ修正が行われる
  • 充実したドキュメント: 公式ドキュメントが詳細で分かりやすい
  • 大規模コミュニティ: GitHub Starが6万以上、活発な開発とサポート
  • 企業利用の実績: Microsoft、Bing、VS Codeなど自社製品で採用

⚙️ 有料ツールとの比較優位性

MagicPodやAutifyなどのSaaS型テストツールと比較した場合の利点:

  • プライバシーとセキュリティ: テストデータが外部サービスに送信されない
  • ベンダーロックインの回避: 特定サービスへの依存がなく、いつでも移行可能
  • 技術スキルの蓄積: プログラミング能力がチーム内に蓄積される
  • 実行環境の制御: ローカル、クラウド、オンプレミスなど自由に選択可能
  • 高度な制御: ネットワーク制御、認証処理、並列実行など細かく調整可能

🔍 その他の技術的優位性

  • 自動待機機能: 要素が表示されるまで自動的に待機するため、明示的な待機コードが不要
  • 強力なセレクタエンジン: CSS、XPath、テキスト、ARIA属性など多様な方法で要素を選択可能
  • ネットワーク制御: APIリクエストのモックやインターセプトが容易
  • スクリーンショット・動画録画: テスト実行時の様子を自動で記録
  • TypeScript完全サポート: 型安全なテストコード作成が可能
Playwrightの動作イメージ
テストコード(JavaScript/TypeScript)
Playwright API
ブラウザ自動操作
Chromium / Firefox / WebKit
テスト結果・レポート

他のテストツールとの比較

機能 Playwright Selenium Cypress
対応ブラウザ Chromium、Firefox、WebKit Chrome、Firefox、Safari、Edge等 Chrome、Firefox、Edge
自動待機 ◎ 組み込み △ 手動実装が必要 ◎ 組み込み
並列実行 ◎ 標準サポート ○ 可能(Grid必要) ○ 有料版で対応
学習コスト ○ 中程度 △ やや高い ◎ 低い
実行速度 ◎ 高速 △ 遅め ◎ 高速

2. Playwright導入について

必要な環境

Playwrightを導入するには、以下の環境が必要です:

システム要件

  • Node.js: バージョン 16 以上(推奨: 18以上)
  • npm: Node.jsに付属(またはyarn、pnpm)
  • OS: Windows 10以上、macOS 11以上、Linux(Ubuntu、Debian等)
  • ディスク空間: 約1GB(ブラウザバイナリを含む)
  • メモリ: 最低2GB、推奨4GB以上

Node.jsのインストール確認

まず、Node.jsがインストールされているか確認します。以下のコマンドをターミナル(Windows: コマンドプロンプトまたはPowerShell)で実行してください:

node –version

バージョン番号(例: v18.17.0)が表示されればOKです。表示されない場合は、Node.js公式サイトからインストールしてください。

⚠️ 注意点

Node.jsのバージョンが16未満の場合、Playwrightは正しく動作しません。必ず16以上のバージョンをインストールしてください。LTS(Long Term Support)版の利用を推奨します。

プロジェクトの準備

Playwrightをインストールする前に、テスト用のプロジェクトディレクトリを作成します:

# プロジェクトディレクトリを作成
mkdir playwright-demo
cd playwright-demo

# package.jsonを作成(npmプロジェクトの初期化)
npm init -y

これで、Playwrightをインストールする準備が整いました。

3. Windowsでのインストール方法

Windowsでは、コマンドプロンプト、PowerShell、またはWindows Terminalを使用してインストールを進めます。

1

ターミナルを開く

以下のいずれかの方法でターミナルを開きます:

  • Windows + R キーを押し、「cmd」または「powershell」と入力してEnter
  • スタートメニューから「コマンドプロンプト」または「PowerShell」を検索
  • Visual Studio Codeなどのエディタの統合ターミナルを使用
2

プロジェクトディレクトリに移動

先ほど作成したプロジェクトディレクトリに移動します:

cd C:\Users\YourName\playwright-demo

※ パスは自分の環境に合わせて変更してください

3

Playwrightのインストール

以下のコマンドでPlaywrightをインストールします:

npm init playwright@latest

このコマンドは、Playwrightの最新版とブラウザバイナリを一括でインストールします。

4

インストール時の質問に回答

インストール中、いくつかの質問が表示されます:

? Do you want to use TypeScript or JavaScript?
  → TypeScript(推奨)またはJavaScriptを選択

? Where to put your end-to-end tests?
→ tests(デフォルトでEnter) ? Add a GitHub Actions workflow?
→ Yes(CI/CD統合したい場合)/No ? Install Playwright browsers (can be done manually via 'npx playwright install')? → Yes(必ずYesを選択)
5

インストール完了の確認

インストールが完了すると、以下のようなメッセージが表示されます:

✔ Success! Created a Playwright Test project

Inside that directory, you can run several commands:

  npx playwright test
    Runs the end-to-end tests.

  npx playwright test --ui
    Starts the interactive UI mode.

Happy hacking! 🎭

✅ Windowsインストール完了

これでWindowsへのPlaywrightインストールが完了しました。プロジェクトフォルダ内に以下のファイルとディレクトリが作成されているはずです:

  • playwright.config.ts – Playwrightの設定ファイル
  • tests/ – テストファイルを格納するディレクトリ
  • tests/example.spec.ts – サンプルテストファイル
  • package.json – プロジェクトの依存関係

4. macOSでのインストール方法

macOSでは、ターミナルアプリケーションを使用してインストールを進めます。

1

ターミナルを開く

以下のいずれかの方法でターミナルを開きます:

  • Spotlight検索(Command + Space)で「ターミナル」と入力
  • アプリケーション → ユーティリティ → ターミナル
  • iTerm2などのターミナルアプリを使用
2

プロジェクトディレクトリに移動

先ほど作成したプロジェクトディレクトリに移動します:

cd ~/playwright-demo

※ パスは自分の環境に合わせて変更してください

3

Playwrightのインストール

以下のコマンドでPlaywrightをインストールします:

npm init playwright@latest

4

インストール時の質問に回答

Windowsと同様に、いくつかの質問が表示されます:

? Do you want to use TypeScript or JavaScript? 
  → TypeScript(推奨)またはJavaScriptを選択

? Where to put your end-to-end tests? 
  → tests(デフォルトでEnter)

? Add a GitHub Actions workflow? 
  → Yes(CI/CD統合したい場合)/No

? Install Playwright browsers (can be done manually via 'npx playwright install')? 
  → Yes(必ずYesを選択)
5

権限に関する確認(macOS特有)

macOSでは、ブラウザのインストール時にシステム権限の確認が必要な場合があります。プロンプトが表示されたら、管理者パスワードを入力してください。

✅ macOSインストール完了

これでmacOSへのPlaywrightインストールが完了しました。プロジェクトフォルダ内に必要なファイルとディレクトリが作成されています。

💡 Homebrewを使用している場合

Homebrewユーザーの場合、Node.jsのインストールも簡単です:

brew install node

その後、上記の手順でPlaywrightをインストールできます。

5. 導入後の動作確認

インストールが完了したら、Playwrightが正しく動作するか確認しましょう。

ステップ1: サンプルテストの実行

Playwrightには、インストール時にサンプルテストが自動生成されます。まずはこれを実行してみましょう:

npx playwright test

このコマンドを実行すると、以下のようなことが起こります:

  • すべてのテストファイル(tests/ディレクトリ内)が実行される
  • デフォルトではヘッドレスモード(ブラウザが表示されない)で実行
  • Chromium、Firefox、WebKitの3つのブラウザでテストが実行される
  • テスト結果がターミナルに表示される

✅ 正常な実行結果の例

Running 6 tests using 3 workers

  ✓  [chromium] › example.spec.ts:3:1 › has title (1s)
  ✓  [chromium] › example.spec.ts:8:1 › get started link (1s)
  ✓  [firefox] › example.spec.ts:3:1 › has title (2s)
  ✓  [firefox] › example.spec.ts:8:1 › get started link (2s)
  ✓  [webkit] › example.spec.ts:3:1 › has title (1s)
  ✓  [webkit] › example.spec.ts:8:1 › get started link (2s)

  6 passed (9s)

すべてのテストにチェックマーク(✓)が付いていれば、正常に動作しています。

ステップ2: UIモードでの実行

Playwrightには、テストを視覚的に確認できるUIモードがあります。これを使うと、テストの実行状況をリアルタイムで確認できます:

npx playwright test –ui

このコマンドを実行すると、ブラウザが開き、以下のような画面が表示されます:

Playwright UI Mode

📊 左側: テストファイルの一覧
▶️ 中央: テスト実行ボタンと結果
🎬 右側: テスト実行時の動作を録画で確認
🔍 下部: 各ステップの詳細とDOM情報

UIモードでは以下のことができます:

  • 個別のテストを選択して実行
  • テストの実行速度を調整
  • 各ステップでのブラウザの状態を確認
  • 失敗したテストのスクリーンショットを確認
  • DOM要素の検査とセレクタの確認

ステップ3: ヘッド付きモードでの実行

ブラウザを実際に表示させて、テストの実行を目で確認することもできます:

npx playwright test –headed

このコマンドを実行すると、ブラウザウィンドウが開き、テストが自動的に実行される様子を見ることができます。

ステップ4: 特定のブラウザでの実行

特定のブラウザだけでテストを実行したい場合:

# Chromiumのみ
npx playwright test --project=chromium

# Firefoxのみ
npx playwright test --project=firefox

# WebKitのみ
npx playwright test --project=webkit

ステップ5: レポートの確認

テスト実行後、詳細なHTMLレポートを生成して確認できます:

npx playwright show-report

ブラウザが開き、以下の情報を含む詳細なレポートが表示されます:

  • 各テストの成功/失敗状況
  • 実行時間
  • スクリーンショット(失敗時)
  • エラーメッセージとスタックトレース
  • ブラウザごとの結果

ステップ6: 簡単なテストを作成して実行

動作確認の最後に、簡単なテストを自分で作成してみましょう。tests/my-first-test.spec.tsというファイルを作成し、以下のコードを記述します:

import { test, expect } from '@playwright/test';

test('Google検索ページが表示される', async ({ page }) => {
  // Googleのトップページにアクセス
  await page.goto('https://www.google.com');
  
  // ページタイトルに「Google」が含まれることを確認
  await expect(page).toHaveTitle(/Google/);
  
  // 検索ボックスが表示されていることを確認
  const searchBox = page.locator('textarea[name="q"]');
  await expect(searchBox).toBeVisible();
  
  console.log('✅ テスト成功!');
});

このテストを実行します:

npx playwright test my-first-test

✅ 動作確認完了

上記のステップがすべて正常に実行できれば、Playwrightの導入は完全に成功しています。これで本格的なテスト作成を開始できます。

便利なコマンド一覧

コマンド 説明
npx playwright test すべてのテストを実行
npx playwright test --ui UIモードで実行
npx playwright test --headed ブラウザを表示して実行
npx playwright test --debug デバッグモードで実行
npx playwright codegen テストコード生成ツールを起動
npx playwright show-report HTMLレポートを表示
npx playwright install ブラウザを再インストール

6. トラブルシューティング

インストールや動作確認時によく発生する問題と、その解決方法をまとめました。

インストール時のトラブル

❌ 問題1: 「npm: コマンドが見つかりません」エラー

症状: npmコマンドを実行すると「コマンドが見つかりません」と表示される

Node.jsがインストールされていません。以下の手順で解決してください:

  1. Node.js公式サイトから最新のLTS版をダウンロード
  2. インストーラーを実行(すべてデフォルト設定でOK)
  3. ターミナルを再起動
  4. node --versionで確認

❌ 問題2: 「EACCES: permission denied」エラー(macOS/Linux)

症状: npm installコマンド実行時に権限エラーが発生

以下のいずれかの方法で解決できます:

方法1: sudoを使用(推奨しない)

sudo npm init playwright@latest

方法2: npmのデフォルトディレクトリを変更(推奨)

mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bash_profile
source ~/.bash_profile
その後、sudoなしでインストールを再実行

❌ 問題3: ブラウザのダウンロードが失敗する

症状: 「Failed to download browser」などのエラーメッセージ

ネットワークの問題またはプロキシ設定が原因の可能性があります:

手動でブラウザをインストール:

npx playwright install

プロキシを経由している場合:

# 環境変数を設定
export HTTP_PROXY=http://proxy.example.com:8080
export HTTPS_PROXY=http://proxy.example.com:8080
npx playwright install

ファイアウォールの確認:
セキュリティソフトやファイアウォールが通信をブロックしていないか確認してください。

❌ 問題4: 「Cannot find module」エラー

症状: テスト実行時に「Cannot find module ‘@playwright/test’」などのエラー

依存関係が正しくインストールされていません:

# node_modulesを削除して再インストール
rm -rf node_modules package-lock.json
npm install
npm install -D @playwright/test

実行時のトラブル

❌ 問題5: テストがタイムアウトする

症状: 「Test timeout of 30000ms exceeded」などのエラー

playwright.config.tsでタイムアウトを延長します:

import { defineConfig } from '@playwright/test';

export default defineConfig({
  timeout: 60000, // 60秒に延長
  expect: {
    timeout: 10000, // アサーションのタイムアウトも延長
  },
});

または、個別のテストで設定:

test('長時間かかるテスト', async ({ page }) => {
  test.setTimeout(120000); // このテストだけ120秒
  // テストコード
});

❌ 問題6: 「Executable doesn’t exist」エラー

症状: ブラウザの実行ファイルが見つからないというエラー

ブラウザのバイナリが正しくインストールされていません:

npx playwright install chromium firefox webkit

それでも解決しない場合は、キャッシュをクリア:

# Windows
rd /s /q %USERPROFILE%\AppData\Local\ms-playwright

# macOS/Linux
rm -rf ~/Library/Caches/ms-playwright

# その後再インストール
npx playwright install

❌ 問題7: 日本語が文字化けする

症状: スクリーンショットやテスト実行時に日本語が正しく表示されない

システムに日本語フォントがインストールされていない可能性があります:

Ubuntu/Debianの場合:

sudo apt-get install fonts-noto-cjk

macOSの場合:
通常は標準でインストール済みですが、必要に応じてフォントブックから追加

Windows の場合:
通常は問題ありませんが、念のため「メイリオ」や「游ゴシック」がインストールされているか確認

❌ 問題8: VS Codeでの型エラー

症状: VS Codeでテストコードに赤い波線が表示される

TypeScriptの型定義が認識されていません:

  1. VS Codeを再起動
  2. tsconfig.jsonが正しく設定されているか確認
  3. 以下のコマンドで型定義を再インストール:
    npm install -D @playwright/test @types/node
  4. VS CodeのTypeScriptバージョンを確認(右下のステータスバー)

Windows特有のトラブル

❌ 問題9: PowerShellで「スクリプトの実行が無効」エラー

症状: 「このシステムではスクリプトの実行が無効になっているため…」というエラー

PowerShellの実行ポリシーを変更します:

# 管理者権限でPowerShellを開き、以下を実行
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

または、コマンドプロンプト(cmd)を使用してください。

❌ 問題10: パスの長さ制限エラー

症状: 「The specified path, file name, or both are too long」エラー

Windowsのパス長制限(260文字)に引っかかっています:

  1. プロジェクトをより浅い階層(例: C:\projects\)に移動
  2. または、Windows 10 1607以降なら長いパスを有効化:
    # レジストリエディタ(regedit)で以下を設定
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
    → LongPathsEnabled を 1 に設定

macOS特有のトラブル

❌ 問題11: 「アプリケーションが開けません」エラー

症状: ブラウザ起動時にセキュリティ警告が表示される

macOSのGatekeeperが原因です:

  1. システム環境設定 → セキュリティとプライバシー を開く
  2. 「一般」タブで「このまま許可」をクリック
  3. または、ターミナルで以下を実行:
    xattr -cr ~/Library/Caches/ms-playwright

一般的なデバッグ方法

🔍 問題の切り分け手順

  1. バージョン確認
    node –version
    npm –version
    npx playwright –version
  2. 依存関係の再インストール
    rm -rf node_modules package-lock.json
    npm install
  3. ブラウザの再インストール
    npx playwright install –force
  4. 詳細ログの確認
    DEBUG=pw:api npx playwright test
  5. 公式ドキュメントの確認

    Playwright公式ドキュメントで最新情報を確認

✅ トラブルシューティングのまとめ

ほとんどの問題は以下の手順で解決できます:

  1. Node.jsとnpmのバージョンを確認
  2. 依存関係を再インストール
  3. ブラウザを手動でインストール
  4. それでも解決しない場合は、公式ドキュメントやGitHub Issuesを確認

まとめ

本記事では、Playwrightの導入からインストール、動作確認、そしてトラブルシューティングまで詳しく解説しました。

重要ポイントの再確認

  • Playwrightとは: Microsoftが開発した、クロスブラウザ対応のE2Eテスト自動化フレームワーク
  • 必要な環境: Node.js 16以上、約1GBのディスク空間
  • インストールコマンド: npm init playwright@latestで簡単にセットアップ可能
  • 動作確認: npx playwright testでサンプルテストを実行
  • UIモード: npx playwright test --uiで視覚的にテストを確認

次のステップ

Playwrightの導入が完了したら、以下のステップに進みましょう:

  • npx playwright codegenでテストコード生成を体験
  • 公式ドキュメントで基本的なAPIを学習
  • 実際のWebアプリケーションに対するテストを作成
  • CI/CDパイプラインへの統合を検討

Playwrightは強力でありながら、比較的学習コストの低いツールです。本記事で紹介した基本的な使い方を押さえれば、すぐに実践的なE2Eテストの作成を始められます。

問題が発生した場合は、本記事のトラブルシューティングセクションを参照してください。それでも解決しない場合は、Playwright GitHub Issuesで同様の問題が報告されていないか確認するか、質問を投稿してください。

これからPlaywrightを使って、高品質なWebアプリケーションの開発を実現していきましょう!

<過去の記事>
単体テスト完全ガイド|ソフトウェア品質の基盤を築く最重要プラクティス
アジャイル開発でのテスト品質向上法|テスト自動化とベンダー活用の実例付き
開発会社様向け!失敗しない初めてのテストアウトソーシングのすすめ
結合テストITaとITbの違いとその重要性
ソフトウェアテストにおける「真の受入テスト」とは

 
GENZの自動化ソリューション「G-SAT」

Playwrightの最近記事

  1. Playwright導入ガイド|インストールから動作確認まで完全解説

  2. ゼロから始める!PlaywrightでのAndroidテスト環境構築ガイド(Mac編)

関連記事