PlaywrightをPythonとpytestで始める手順(Windows環境でブラウザテスト)
Playwright for Pythonを使ってブラウザテストを行うための手順です。
WindowsのPython環境にPlaywrightを導入し、pytest(pytest-playwright)でブラウザテストを実行するまでの手順を紹介します。
Playwright for Pythonを利用すると、PythonからChrome、Edge、Firefoxなどのブラウザを操作してWebテストを行うことができます。
Playwrightの概要説明からパッケージのインストール、pytest(pytest-playwright)用スクリプトの作成、テストの実行、pytest-htmlを利用したレポート作成までの流れを紹介しています。
Windows環境でのPlaywright for Pythonセットアップ手順(pytestを使用)
Playwrightとは?
Playwrightは、Webブラウザで実行されるテストを自動化するためのツールです。
Microsoftが提供しているオープンソースライブラリで、JavaScript、TypeScript、C#、Pythonをサポートしています。
ブラウザは、Chrome/Firefox/Safari相当(Chromium/Firefox/WebKit)をサポートしています。
Installation(Playwright)
Playwrightでテスト自動化を設定する
今回は、Playwright for Pythonを利用しています。
Installation(Playwright for Python)
Playwright for Python(GitHub)
言語は限定されますが、Edgeを利用することも可能です。
Playwright を使用してMicrosoft Edgeで自動化とテストを行う
ヘッドレス実行(ブラウザを表示せず)に実行や並列実行ができるため、CI(GitHub Actions)などにも組み込みやすくなっています。
※PlaywrightはNode.jsのパッケージとして始まったため、Node.js版の機能が豊富となっています。
※Googleなど一部のWebサイトでは、playwrightによるアクセスがボットとして検知される場合があります。利用する際は注意してください。
pytestとは
pytestは、Pythonのテストを簡単に記述し、自動実行できるフレームワークです。
多くのプラグインが用意されています。
今回はpytestからplaywrightを利用するための公式プラグインpytest-playwrightと組み合わせて使用しています。
pytest(GitHub)
pytest(Documentation)
pytest-playwrightとは
pytestからPlaywrightを利用するための公式プラグインです。
pytest内でChromium、Firefox、WebKitを使用したブラウザテストを実行できます。
ヘッドレス実行やスクリーンショット、動画、トレースの収集などもpytest内で扱うことができます。
Pytest Plugin Reference(Playwright for Python)
pytest-playwright(PyPi)
今回使用した環境
今回は、Windows Server 2025の環境を利用しています。
また、pytestを使用しています。
-
- 使用したバージョン
- Python : 3.14.3
- playwright : 1.58.0
- pytest : 9.0.2
- pytest-playwright 0.7.2
- pytest-html 4.2.0
- 使用したバージョン
Pythonのインストール
Pythonのインストール手順については、こちらで紹介しています。
Microsoft Visual C++ Redistributable 2015–2022(x64/x86)のインストール
Python環境でplaywrightのテストを実行したところ、greenletのモジュールが見つかりませんというエラーメッセージが表示されることがあります。
Microsoft Visual C++ Redistributable 2015–2022(x64/x86)がインストールされていないことが原因となっている場合があります。
サポートされている最新の再頒布可能パッケージ バージョン(サポートされている最新の Visual C++ 再頒布可能パッケージのダウンロード)
Pythonの仮想環境を作成してpytestやplaywrightなどの必要なパッケージをインストール
Playwrightをインストールします。
まずプロジェクト用のPython仮想環境を作成して有効化します。
仮想環境内のpipを更新したうえで、playwrightやpytestなどのパッケージをインストールします。
今回は、C:\dev\python\playwright 配下に.venvという仮想環境を作成しています。
pytest-playwrightをインストールすると、同時にplaywrightもインストールされます。
また、パッケージはまとめてインストールすることも可能ですが、今回は確認のために1つずつインストールしています。
| playwrightのインストール手順 | ||
| Pythonの仮想環境を作成し、pytestやplaywrightなど必要なパッケージをインストールします。 |
|
|
|
||
—広告—
pytestからPlaywrightのブラウザテストを行うための手順
pytest用のテストスクリプトを作成
pytestで実行できるPlaywrightのブラウザテスト用スクリプトを作成します。
今回は、Chromeを開いてYahoo! JAPANのトップページにアクセスし、タイトルを表示して10秒待ってから閉じます。
※Playwrightを使ってアクセスした場合、ボット扱いされることがあります。例えば、Google検索などではボット扱いされてしまうため注意が必要です。
| ブラウザテスト用のpytestスクリプトを作成 | ||
| VS Codeなどのエディタを使って、pytestスクリプトを作成します。 capsysを利用して、テスト中の標準出力(print の内容)をコンソールに表示しています。 また、headless=False を指定すると、GUIでブラウザを起動してサイトを表示します。 今回はファイル名を test.pyとして保存しています。 |
|
|
※本サンプルは最低限の実装としています。そのためアクセスエラー時などの動作を考慮していません。
pytestコマンドでPlaywrightを使ったブラウザテストを実行
pytestコマンドを実行します。
| pytestを実行 | ||
|
pytestスクリプトを実行します。 |
|
|
![]() |
||
pytest-htmlを使ってブラウザテストの実行結果をレポートとして表示
pytest-htmlを利用すると、pytestのテスト実行結果をHTMLレポートとして出力できます。
成功/失敗・所要時間などを見やすくレポートして表示できます。
pytest-html(GitHub)
pytest-html(Documentation)
pytest-html(PyPi)
| オプションを設定してpytestを実行 | ||
| pytest-htmlを利用する場合は、pytest実行時に–htmlオプションを追加します。 併せて、レポートのhtmlファイル名を指定します。 出力されたhtmlファイルを表示すると、ブラウザテストの実行結果を確認できます。 |
|
|
![]() |
||
—広告—
最後に
今回は、Playwright for Pythonを使ってブラウザテストを行う手順について簡単にまとめてみました。
pytestやpytest-playwrightを利用した手順を確認しています。
とても簡単に、pytestスクリプトの作成、テストの実行、pytest-htmlを利用したレポート作成までできました。
今回は手順確認がメインのため、単一のURLへのアクセスと最小限の内容のみテストを実施していますがもっと多くのブラウザ操作ができます。
実際にはフォームへの値入力、ボタン操作、画面遷移、要素の取得など、さまざまなブラウザ操作を自動化できます。
引き続き、いろいろ試してみたいと思います。
Seleniumを利用したブラウザテストの方法については、こちらで紹介しています。
Python関連の記事については、こちらで紹介しています





