メインコンテンツにスキップ

インストール

はじめに

Playwrightは、エンドツーエンドテストのニーズに対応するために特別に作成されました。Playwrightは、Chromium、WebKit、Firefoxを含むすべての最新レンダリングエンジンをサポートしています。Windows、Linux、macOSで、ローカルまたはCI上で、ヘッドレスまたはヘッドありで、ネイティブのモバイルエミュレーションを使用してテストできます。

Playwrightライブラリは、一般的なブラウザ自動化ツールとして使用でき、同期および非同期Pythonの両方でWebアプリケーションを自動化するための強力なAPIセットを提供します。

この導入部では、エンドツーエンドテストを作成するための推奨される方法であるPlaywright Pytestプラグインについて説明します。

学習内容

Playwright Pytestのインストール

Playwrightは、エンドツーエンドテストを作成するために公式のPlaywright Pytestプラグインを使用することを推奨しています。これは、コンテキストの分離を提供し、複数のブラウザ構成でそのまま実行できます。

Playwrightをインストールし、サンプルテストを実行して動作を確認することから始めましょう。

Pytestプラグインをインストール

pip install pytest-playwright

必要なブラウザをインストール

playwright install

サンプルテストの追加

現在の作業ディレクトリ内またはサブディレクトリ内に、以下のコードでtest_プレフィックスの規則に従うファイル(例: test_example.py)を作成します。テスト名もtest_プレフィックスの規則に従っていることを確認してください。

test_example.py
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 14 Ventura以降。
  • Debian 12、Debian 13、Ubuntu 22.04、Ubuntu 24.04(x86-64およびarm64アーキテクチャ)。

次にすること