インストール
はじめに
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 以降、または Windows Subsystem for Linux (WSL)。
- macOS 13 Ventura 以降。
- Debian 12、Ubuntu 22.04、Ubuntu 24.04 (x86-64 および arm64 アーキテクチャ)。