はじめに
Web アプリの E2E(エンドツーエンド)テストやスクレイピングを行う際、最初に候補に挙がるのが Selenium と Playwright です。ともに OSS でありながら設計思想や機能が大きく異なるため、「どちらを選べばよいか」で悩む開発チームは少なくありません。
この記事では 2025 年 5 月時点の最新情報(Selenium 4.29 / Playwright 1.47)を基に、両ツールの違いを多角的に比較し、WordPress サイトを運営・開発している方向けに選択ポイントをまとめます。
1. ツール概要
1-1 Selenium とは
- 2004 年誕生、20 年以上の実績。WebDriver によりW3C 標準プロトコルでブラウザを操作。
- 言語バインディングが豊富(Java, Python, C#, JavaScript, Ruby, PHP など)で、既存テスト基盤に組み込みやすい。
- Selenium Grid で大量並列実行や実機クラウド連携が可能。
- 最新版 4.x 系では BiDi(双方向)プロトコルや Selenium Manager によるドライバー自動取得へ移行が進む。
1-2 Playwright とは
- 2020 年 Microsoft が公開したモダン E2E テストフレームワーク。
- Chromium・Firefox・WebKit を単一 API で制御し、ブラウザごとの差分を吸収。
- 自動 auto-wait、ネットワークモック、トレース & ビデオ録画などテストフレークを減らす機能が組み込み。
- TypeScript/JavaScript を筆頭に Python・Java・.NET でも利用できる。
- Codegen / Inspector / Trace Viewer といった GUI デバッグツールが標準添付。
2. 機能早見表
| 評点軸 | Playwright | Selenium |
|---|---|---|
| 対応言語 | JS/TS, Python, Java, .NET, C# | + Ruby, PHP, Kotlin… 計 8 以上 |
| 対応ブラウザ | Chromium, Firefox, WebKit(モダン) | Chrome, Firefox, Safari, Edge, IE など広範 |
| 自動待機 | 〇 (デフォルト auto-wait) | △ 明示的/暗黙的 Wait が必要 |
| 実行速度 | 高速(単一ブラウザインスタンス+CDP) | 遅めだが Grid で並列化可能 |
| モバイル・実機 | エミュレーションのみ | Appium 経由で実機テスト可 |
| デバッグ | Codegen・Inspector・動画/トレース | Selenium IDE(拡張機能) |
| コミュニティ規模 | 急成長中(GitHub 116k repo 依存) | 老舗・安定(GitHub 283k repo 依存) |
| 推奨ユースケース | モダン SPA、素早い開発環境構築 | レガシーブラウザ、実機/多言語、大規模組織 |
3. 詳細比較
3-1 プロトコル & アーキテクチャ
- Playwright はブラウザごとのネイティブデバッグプロトコル(CDP / Firefox Juggler / WebKit Remote Debug)へ WebSocket で直接接続。コマンド往復が少なく高速。
- Selenium は W3C WebDriver 規格を介するためブラウザドライバーを別途起動。4.x 以降は WebDriver BiDi の導入で非同期・双方向通信が可能になりつつある。
3-2 ブラウザ・デバイス対応
- IE モードや古い Safari 対応が必要なら Selenium が無難。
- スマートフォン実機(Android/iOS)を CI で回す場合は Selenium + Appium 連携が王道。Playwright は画面解像度・UA 変更など擬似的モバイルのみ。
3-3 テスト速度・安定性
Playwright は auto-wait と 複数 browserContext により要素安定待ち/新規ブラウザインスタンス生成が不要でベンチマークでも約 1.8 倍速い結果が報告されています。
3-4 フレーク & デバッグ機能
- Playwright Inspector(ステップ実行)や Trace Viewer(DOM スナップ・動画付きエラーレポート)が標準。
- Selenium は拡張機能ベースの Selenium IDE で記録・再生できるが、動画・トレースはサードパーティ依存。
3-5 CI/CD・クラウド統合
- Selenium Grid はコンテナ/Kubernetes/主要クラウド SaaS(Sauce Labs, BrowserStack 等)で成熟。
- Playwright も GitHub Actions や Vercel CI 向け公式 Docker イメージがありセットアップは簡便。
4. WordPress サイト開発での視点
| テスト対象 | 推奨ツール | 理由 |
|---|---|---|
| Gutenberg ブロックの挙動 | Playwright | 最新 JS で動的描画が多く、auto-wait が有効 |
| 古いプラグイン互換性 (IE11/Safari10 等) | Selenium | レガシーブラウザ動作を公式ドライバーで保証 |
| 複数サブドメイン/マルチサイト | Playwright | 同一ブラウザインスタンスに複数 context を張れる |
| WooCommerce + 実機モバイル購入フロー | Selenium(+Appium) | ネイティブブラウザ & デバイス決済 UI を自動化 |
5. 選択ガイド
| こういう場合は… | 採用候補 |
|---|---|
| 開発速度重視・SPA ばかり | Playwright |
| 多言語チーム & 既存コード資産がある | Selenium |
| 実機クラウド/IE 必須の企業案件 | Selenium |
| CI で高速に回したい・動画付きレポートが欲しい | Playwright |
6. まとめ
- Playwright はモダン Web 向けに最適化され、初期セットアップも簡単。auto-wait とトレース機能でフレークを減らし、デバッグ体験が非常に優れています。
- Selenium は幅広い言語・ブラウザ・デバイスを網羅し、大規模組織や長期運用に耐えるエコシステムが魅力。BiDi への移行で近代化も進行中です。
- WordPress においては「対象ブラウザの範囲」と「テストデータ収集の深さ」を基準に選択すると失敗が少ないでしょう。
最後に、両ツールは相互排他的ではありません。「高速フィードバックを得る Playwright + 総合回帰を行う Selenium」 といったハイブリッド戦略も選択肢に入れてみてください。


コメント