运行和调试测试
简介
您可以运行单个测试、一组测试或所有测试。通过使用--browser
标志,测试可以在一个浏览器或多个浏览器上运行。默认情况下,测试以无头模式运行,这意味着运行测试时不会打开浏览器窗口,结果将在终端中显示。如果您愿意,可以通过使用--headed
CLI参数以有头模式运行测试。
你将学习
运行测试
命令行
要运行您的测试,请使用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调用、查看调试日志并探索定位器。
要调试所有测试,请运行以下命令。
- Bash
- PowerShell
- 批量处理
PWDEBUG=1 pytest -s
$env:PWDEBUG=1
pytest -s
set PWDEBUG=1
pytest -s
要调试单个测试文件,请运行命令后跟您想要调试的测试文件名。
- Bash
- PowerShell
- 批量处理
PWDEBUG=1 pytest -s test_example.py
$env:PWDEBUG=1
pytest -s test_example.py
set PWDEBUG=1
pytest -s test_example.py
要调试特定测试,请添加 -k
后跟您想要调试的测试名称。
- Bash
- PowerShell
- 批量处理
PWDEBUG=1 pytest -s -k test_get_started_link
$env:PWDEBUG=1
pytest -s -k test_get_started_link
set PWDEBUG=1
pytest -s -k test_get_started_link
该命令将打开一个浏览器窗口以及Playwright Inspector。您可以使用检查器顶部的"单步跳过"按钮逐步执行测试,或按下播放按钮从头到尾运行测试。测试完成后,浏览器窗口将关闭。
调试时,您可以使用"拾取定位器"按钮来选择页面上的元素,并查看Playwright用于查找该元素的定位器。您还可以编辑定位器,并在浏览器窗口中实时看到高亮显示。使用"复制定位器"按钮将定位器复制到剪贴板,然后将其粘贴到测试中。
查看我们的调试指南了解更多关于Playwright Inspector以及使用浏览器开发者工具进行调试的信息。