スポンサーリンク

Playwrightとは?Seleniumとの違いをわかりやすく解説

この記事は「Reqnroll × Playwrightで始めるE2Eテスト入門」シリーズの一部です。

Playwrightとは?Seleniumとの違いをわかりやすく解説

Webアプリケーションの自動テストを行う際、よく使われるツールとして PlaywrightSelenium があります。

どちらもブラウザを自動操作するためのツールですが、特徴や使い方に違いがあります。

本記事では次の内容をわかりやすく解説します。

  • Playwrightとは
  • Seleniumとは
  • PlaywrightとSeleniumの違い
  • どちらを使うべきか

E2Eテストをこれから始める方はぜひ参考にしてください。


Playwrightとは

Playwrightは Microsoftが開発したブラウザ自動化ツールです。

主に次の用途で利用されます。

  • E2Eテスト
  • UIテスト
  • Webスクレイピング

Playwrightは比較的新しいツールですが、近年はE2Eテストツールとして非常に人気があります。


Playwrightの特徴

Playwrightには次のような特徴があります。


複数ブラウザに対応

Playwrightは以下のブラウザに対応しています。

  • Chromium(Chrome / Edge)
  • Firefox
  • WebKit(Safari)

そのため クロスブラウザテストが可能です。


自動待機機能がある

Playwrightには 自動待機(Auto Wait)機能があります。

例えば次のようなケースがあります。

  • ボタンが表示されるまで待つ
  • Ajax通信が終わるまで待つ

Seleniumでは手動で待機処理を書くことが多いですが、
Playwrightでは 自動で待機してくれるためテストが安定します。


複数言語に対応

Playwrightは次の言語で利用できます。

  • JavaScript / TypeScript
  • Python
  • Java
  • C#

.NET環境でも利用できるため、C#のE2Eテストにも利用できます。


Seleniumとは

Seleniumは 最も有名なブラウザ自動化ツールです。

長い歴史があり、多くのプロジェクトで利用されています。

Seleniumは主に WebDriver を使用してブラウザを操作します。


Seleniumの特徴

Seleniumには次の特徴があります。


長い歴史と豊富な実績

Seleniumは 2004年頃から開発されているツールです。

そのため

  • 情報が多い
  • 導入実績が多い
  • ドキュメントが豊富

というメリットがあります。


多くの言語に対応

Seleniumは多くの言語に対応しています。

  • Java
  • C#
  • Python
  • JavaScript
  • Ruby

そのため様々な環境で利用されています。


PlaywrightとSeleniumの違い

PlaywrightとSeleniumの違いをまとめると次の通りです。

項目PlaywrightSelenium
開発元MicrosoftSelenium Project
登場2019年2004年
速度高速やや遅い
待機処理自動待機あり手動が多い
クロスブラウザ対応対応
人気急上昇非常に多い

Playwrightのメリット

Playwrightの主なメリットは以下です。


テストが高速

Playwrightは内部構造が新しく、Seleniumより高速に動作する場合が多いです。


テストが安定しやすい

自動待機機能があるため、次のような問題が起きにくいです。

  • 要素がまだ表示されていない
  • Ajax通信が終わっていない

そのため テストが失敗しにくいというメリットがあります。


新しいWebアプリに強い

最近のWebアプリでは

  • SPA
  • Ajax通信
  • 非同期処理

が多く使われています。

Playwrightはこうした モダンWebアプリのテストに強い設計になっています。


Seleniumのメリット

Seleniumにもメリットがあります。


実績が豊富

Seleniumは長く使われているため

  • 導入事例が多い
  • 情報が多い
  • ノウハウが豊富

という特徴があります。


古いプロジェクトでも使われている

多くの既存プロジェクトでは、すでにSeleniumが使われています。

そのため 既存プロジェクトではSeleniumを使い続けるケースも多いです。


PlaywrightとSeleniumどちらを使うべき?

新しくE2Eテストを導入する場合は、Playwrightがおすすめです。

理由

  • テストが高速
  • 自動待機で安定
  • モダンWebアプリに強い

一方、次のような場合はSeleniumも選択肢になります。

  • 既存プロジェクトでSeleniumを使用している
  • Seleniumのノウハウがチームにある

ReqnrollとPlaywrightの組み合わせ

Playwrightは BDDツールと組み合わせることもできます。

例えば Reqnroll と組み合わせると次のような構成になります。

Featureファイル(Reqnroll)
        ↓
StepDefinition(C#)
        ↓
Playwright
        ↓
ブラウザ操作

この構成により 読みやすいE2Eテストを書くことができます。

Reqnrollについてはこちらの記事で解説しています。

Reqnrollとは?SpecFlowとの違いと特徴を解説


まとめ

本記事では PlaywrightとSeleniumの違いについて解説しました。

ポイント

  • PlaywrightはMicrosoft製のブラウザ自動化ツール
  • Seleniumは長い歴史のあるテストツール
  • 新規プロジェクトではPlaywrightが人気

E2Eテストをこれから導入する場合は、Playwrightを選ぶケースが増えています。

.NET
スポンサーリンク
シェアする
trelab