インストール
はじめに
Playwrightは、エンドツーエンドテストのニーズを満たすために特別に作成されました。Playwrightは、Chromium、WebKit、Firefoxを含むすべての最新レンダリングエンジンをサポートしています。Windows、Linux、macOSで、ローカルまたはCI上で、ヘッドレスモードまたはヘッドモードで、ネイティブモバイルエミュレーションを使用してテストを実行できます。
Playwrightライブラリは、汎用ブラウザ自動化ツールとして使用でき、同期および非同期Pythonの両方でWebアプリケーションを自動化するための強力なAPIセットを提供します。
このはじめにでは、エンドツーエンドテストを作成するための推奨される方法であるPlaywright Pytestプラグインについて説明します。
学習内容
Playwright Pytestのインストール
Playwrightは、エンドツーエンドテストを作成するために、公式のPlaywright Pytestプラグインを使用することを推奨しています。これは、コンテキストの分離を提供し、複数のブラウザ構成でそのまま実行できます。
Playwrightをインストールし、サンプルテストを実行して実際に動作を確認することから始めましょう。
- PyPI
- Anaconda
Pytestプラグインのインストール
pip install pytest-playwright
Pytestプラグインのインストール
conda config --add channels conda-forge
conda config --add channels microsoft
conda install pytest-playwright
必要なブラウザのインストール
playwright install
サンプルテストの追加
現在の作業ディレクトリまたはサブディレクトリ内に、以下のコードで`test_example.py`のように`test_`プレフィックスの規約に従うファイルを作成します。テスト名も`test_`プレフィックスの規約に従っていることを確認してください。
import re
from playwright.sync_api import Page, expect
def test_has_title(page: Page):
page.goto("https://playwright.dokyumento.jp/")
# Expect a title "to contain" a substring.
expect(page).to_have_title(re.compile("Playwright"))
def test_get_started_link(page: Page):
page.goto("https://playwright.dokyumento.jp/")
# Click the get started link.
page.get_by_role("link", name="Get started").click()
# Expects page to have a heading with the name of Installation.
expect(page.get_by_role("heading", name="Installation")).to_be_visible()
サンプルテストの実行
デフォルトでは、テストはChromiumで実行されます。これはCLIオプションで設定できます。テストはヘッドレスモードで実行されるため、テスト実行時にブラウザUIは開きません。テストの結果とテストログはターミナルに表示されます。
pytest
Playwrightの更新
Playwrightを最新バージョンに更新するには、以下のコマンドを実行します。
pip install pytest-playwright playwright -U
システム要件
- Python 3.8以降。
- Windows 10以降、Windows Server 2016以降、またはLinux用Windowsサブシステム (WSL)。
- macOS 14 Ventura以降。
- Debian 12、Ubuntu 22.04、Ubuntu 24.04 (x86-64およびarm64アーキテクチャ)。