跳至主要内容

运行和调试测试

简介

使用Playwright,您可以运行单个测试、一组测试或所有测试。通过使用--project标志,测试可以在一个浏览器或多个浏览器上运行。测试默认以并行方式运行,并且以无头模式运行,这意味着在运行测试时不会打开浏览器窗口,结果将在终端中显示。但是,您可以通过使用--headed命令行参数以有头模式运行测试,或者通过使用--ui标志在UI模式下运行测试。查看完整的测试跟踪,包括监视模式、时间旅行调试等功能。

你将学习

运行测试

命令行

您可以使用playwright test命令运行测试。这将根据playwright.config文件中的配置在所有浏览器上运行测试。测试默认在无头模式下运行,意味着运行测试时不会打开浏览器窗口,结果将在终端中显示。

npx playwright test

tests running in command line

在UI模式下运行测试

我们强烈推荐使用UI模式运行测试以获得更好的开发体验,您可以轻松逐步查看测试的每个步骤,并直观地了解每个步骤之前、期间和之后发生的情况。UI模式还包含许多其他功能,如定位器选择器、监视模式等。

npx playwright test --ui

UI Mode

查看我们的UI模式详细指南以了解更多关于其功能的信息。

在带界面的模式下运行测试

要在有头模式下运行测试,请使用--headed标志。这将使您能够直观地看到Playwright如何与网站进行交互。

npx playwright test --headed

在不同浏览器上运行测试

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

npx playwright test --project webkit

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

npx playwright test --project webkit --project firefox

运行特定测试

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

npx playwright test landing-page.spec.ts

要从不同目录运行一组测试文件,请传入您希望运行测试的目录名称。

npx playwright test tests/todo-page/ tests/landing-page/

要运行文件名中包含landinglogin的文件,只需将这些关键词传递给CLI即可。

npx playwright test landing login

要运行具有特定标题的测试,请使用 -g 标志后跟测试的标题。

npx playwright test -g "add a todo item"

运行上次失败的测试

要仅运行上次测试运行中失败的测试,首先运行您的测试,然后使用--last-failed标志再次运行它们。

npx playwright test --last-failed

在VS Code中运行测试

测试可以直接通过VS Code使用VS Code扩展来运行。安装后,您可以简单地点击要运行的测试旁边的绿色三角形,或者从测试侧边栏运行所有测试。查看我们的VS Code入门指南以获取更多详细信息。

Playwright VS Code extension

调试测试

由于Playwright运行在Node.js环境中,您可以使用任意调试工具进行调试,例如通过console.log、在IDE中调试或直接使用VS Code扩展。Playwright内置了UI模式,您可以轻松逐步执行测试的每个步骤,查看日志、错误、网络请求,检查DOM快照等。您还可以使用Playwright检查器,它允许您逐步执行Playwright API调用,查看调试日志并探索定位器

在UI模式下调试测试

我们强烈推荐使用UI模式来调试您的测试,以获得更好的开发体验。在该模式下,您可以轻松逐步执行测试的每个步骤,并直观地查看每个步骤之前、期间和之后发生的情况。UI模式还提供了许多其他功能,如定位器选择器、监视模式等。

npx playwright test --ui

showing errors in ui mode

调试时,您可以使用"拾取定位器"按钮来选择页面上的元素,并查看Playwright用于查找该元素的定位器。您还可以在定位器编辑器中修改定位器,并在浏览器窗口中实时看到高亮效果。使用"复制定位器"按钮将定位器复制到剪贴板,然后将其粘贴到测试中。

pick locator in ui mode

查看我们的UI模式详细指南以了解更多关于其功能的信息。

使用Playwright Inspector调试测试

要调试所有测试,运行Playwright测试命令并加上--debug标志。

npx playwright test --debug

Debugging Tests with the Playwright inspector

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

要调试单个测试文件,请运行Playwright测试命令,后跟您想要调试的测试文件名和--debug标志。

npx playwright test example.spec.ts --debug

要从定义test(..的行号开始调试特定测试,请在测试文件名末尾添加冒号和行号,后跟--debug标志。

npx playwright test example.spec.ts:10 --debug

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

Locator picker in the Playwright Inspector

查看我们的调试指南,了解更多关于使用VS Code调试器、UI模式、Playwright Inspector以及浏览器开发者工具进行调试的信息。

测试报告

The HTML Reporter shows you a full report of your tests allowing you to filter the report by browsers, passed tests, failed tests, skipped tests and flaky tests. By default, the HTML report is opened automatically if some of the tests failed, otherwise you can open it with the following command.

npx playwright show-report

HTML Report

您可以筛选和搜索测试用例,也可以点击每个测试查看错误信息并逐步探索测试的每个步骤。

HTML Reporter detail view

下一步