安裝
簡介
Playwright 是專為滿足端到端測試需求而建立的。Playwright 支援所有現代渲染引擎,包括 Chromium、WebKit 和 Firefox。在 Windows、Linux 和 macOS 上進行測試,可以是本地或 CI 上,無頭或有頭,並具有原生行動模擬功能。
Playwright 函式庫 可以用作通用的瀏覽器自動化工具,提供一套強大的 API 來自動化網頁應用程式,適用於同步和非同步的 Python。
這個介紹描述了 Playwright Pytest 外掛,這是撰寫端到端測試的推薦方式。
你將學到
安裝 Playwright Pytest
Playwright 建議使用官方的 Playwright Pytest plugin 來撰寫端到端測試。它提供上下文隔離,並在多個瀏覽器配置上開箱即用地執行。
開始安裝 Playwright 並執行範例測試以查看其效果。
- PyPI
- Anaconda
安裝 Pytest plugin:
pip install pytest-playwright
安裝 Pytest plugin:
conda config --add channels conda-forge
conda config --add channels microsoft
conda 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.dev/")
# 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.dev/")
# 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 options 進行配置。測試在無頭模式下執行,這意味著在執行測試時不會打開瀏覽器 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 或 macOS 14 Sonoma。
- Debian 11、Debian 12、Ubuntu 20.04 或 Ubuntu 22.04、Ubuntu 24.04,適用於 x86-64 和 arm64 架構。