- Playwright是专门为满足端到端测试的需求而创建的。Playwright支持所有现代渲染引擎,包括Chromium、WebKit和Firefox。在Windows、Linux和macOS上进行测试,无论是在本地还是在CI上,无论是无头模式还是有头模式,都可以使用原生的移动设备仿真。
- Playwright建议使用官方的Playwright Pytest插件来编写端到端测试。它提供了上下文隔离,可以一次性在多种浏览器配置上运行。或者,您也可以使用该库手动编写测试基础设施,使用您喜欢的测试运行器。Pytest插件使用了Playwright的同步版本,也有一个异步版本可以通过该库访问。
- 通过安装Playwright并运行示例测试来开始使用。
- pip install pytest-playwright
- playwright install
- 在当前工作目录或子目录中创建一个test_my_application.py文件,并使用以下代码:
-
import re from playwright.sync_api import Page, expect def test_homepage_has_Playwright_in_title_and_get_started_link_linking_to_the_intro_page(page: Page): page.goto("https://playwright.dev/") # Expect a title "to contain" a substring. expect(page).to_have_title(re.compile("Playwright")) # create a locator get_started = page.get_by_role("link", name="Get started") # Expect an attribute "to be strictly equal" to the value. expect(get_started).to_have_attribute("href", "/docs/intro") # Click the get started link. get_started.click() # Expects the URL to contain intro. expect(page).to_have_url(re.compile(".*intro"))
-
- 默认情况下,测试将在chromium上运行。这可以通过CLI选项进行配置。测试以无头模式运行,这意味着在运行测试时不会打开浏览器UI。测试结果和测试日志将显示在终端中。
pytest