跳至主要内容

运行和调试测试

简介

您可以运行单个测试、一组测试或所有测试。通过使用--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调用、查看调试日志并探索定位器

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

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以及使用浏览器开发者工具进行调试的信息。

下一步