跳到主要内容

运行和调试测试

简介

您可以运行单个测试、一组测试或所有测试。可以通过使用 --browser 标志在一个或多个浏览器上运行测试。默认情况下,测试以无头模式(headless)运行,这意味着在运行测试时不会打开浏览器窗口,结果将在终端中显示。如果您愿意,可以使用 --headed CLI 参数以有头模式(headed)运行测试。

您将学到

运行测试

命令行

要运行测试,请使用 pytest 命令。默认情况下,这将在 Chromium 浏览器上运行您的测试。测试默认以无头模式运行,这意味着在运行测试时不会打开浏览器窗口,结果将在终端中显示。

pytest

以有头模式运行测试

要以有头模式运行测试,请使用 --headed 标志。这将打开一个浏览器窗口并在运行测试时显示,测试完成后浏览器窗口将关闭。

pytest --headed

在不同浏览器上运行测试

要指定要在哪个浏览器上运行测试,请使用 --browser 标志,后跟浏览器名称。

pytest --browser webkit

要指定要在多个浏览器上运行测试,请多次使用 --browser 标志,后跟每个浏览器名称。

pytest --browser webkit --browser firefox

运行特定测试

要运行单个测试文件,请传入要运行的测试文件名。

pytest test_login.py

要运行一组测试文件,请传入要运行的测试文件名。

pytest tests/test_todo_page.py tests/test_landing_page.py

要运行特定测试,请传入要运行的测试的函数名称。

pytest -k test_add_a_todo_item

并行运行测试

要并行运行测试,请使用 --numprocesses 标志,后跟要运行测试的进程数。我们建议使用逻辑 CPU 核心数的一半。

pytest --numprocesses 2

(前提是已安装 pytest-xdist。更多信息请参阅此处。)

更多信息请参阅Playwright Pytest 用法或 Pytest 文档中的通用 CLI 用法

调试测试

由于 Playwright 运行在 Python 中,您可以使用您选择的调试器进行调试,例如使用 Visual Studio Code 中的Python 扩展。Playwright 附带了 Playwright Inspector,它允许您单步执行 Playwright API 调用、查看其调试日志并探索定位符

要调试所有测试,请运行以下命令。

PWDEBUG=1 pytest -s

要调试一个测试文件,请运行该命令,后跟要调试的测试文件名。

PWDEBUG=1 pytest -s test_example.py

要调试特定测试,请添加 -k,后跟要调试的测试名称。

PWDEBUG=1 pytest -s -k test_get_started_link

此命令将打开一个浏览器窗口以及 Playwright Inspector。您可以使用检查器顶部的“跳过”按钮单步执行测试。或按下“播放”按钮从头到尾运行测试。测试完成后,浏览器窗口将关闭。

调试时,您可以使用“选择定位符”按钮在页面上选择一个元素,并查看 Playwright 用于查找该元素的定位符。您还可以编辑定位符,并在浏览器窗口中实时查看其高亮显示。使用“复制定位符”按钮将定位符复制到剪贴板,然后将其粘贴到您的测试中。

Playwright Inspector

查阅我们的调试指南,了解有关Playwright Inspector 以及使用浏览器开发者工具进行调试的更多信息。

下一步