运行和调试测试
简介
使用 Playwright,您可以运行单个测试、一组测试或所有测试。可以使用 --project 标志在一个或多个浏览器上运行测试。测试默认在并行和无头模式(headless mode)下运行,这意味着运行测试时不会打开浏览器窗口,结果会显示在终端中。您可以使用 --headed CLI 参数以有头模式运行测试,或者使用 --ui 标志在 UI 模式下运行测试,以查看测试的完整跟踪信息。
您将学到
运行测试
命令行
您可以使用 playwright test 命令运行测试。这将在 playwright.config 文件中配置的所有浏览器上运行测试,结果会显示在终端中。测试默认在无头模式下运行,这意味着运行测试时不会打开浏览器窗口。
npx playwright test

在 UI 模式下运行测试
我们强烈建议使用 UI 模式运行测试,以获得更好的开发体验。在 UI 模式下,您可以轻松遍历测试的每一步,并直观地查看每一步之前、期间和之后发生的情况。UI 模式还附带了许多其他功能,如定位器选择器(locator picker)、监视模式(watch mode)等。
npx playwright test --ui

查看我们的 UI 模式详细指南以了解更多功能。
以有头模式运行测试
要以有头模式(headed mode)运行测试,请使用 --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/
要运行文件名中包含 landing 或 login 的文件,只需将这些关键字传入 CLI 即可。
npx playwright test landing login
要运行具有特定标题的测试,请使用 -g 标志,后跟测试标题。
npx playwright test -g "add a todo item"
运行上次失败的测试
要仅运行上次测试运行中失败的测试,请先运行测试,然后使用 --last-failed 标志再次运行它们。
npx playwright test --last-failed
Playwright 将上次运行中失败的测试列表存储在 <outputDir>/.last-run.json 中(请参阅 testConfig.outputDir)。要使用不同的文件路径,请传入 --last-failed-file=<path> 或设置 PLAYWRIGHT_LAST_RUN_OUTPUT_FILE。
npx playwright test --last-failed --last-failed-file=.cache/last-run-shard-1.json
在 VS Code 中运行测试
可以使用 VS Code 扩展直接从 VS Code 运行测试。安装后,您只需点击要运行的测试旁边的绿色三角形,或从测试侧边栏运行所有测试。查看我们的 VS Code 入门指南以获取更多详细信息。

调试测试
由于 Playwright 在 Node.js 中运行,您可以使用您选择的调试器进行调试,例如使用 console.log、在 IDE 内部,或直接通过 VS Code 扩展在 VS Code 中调试。Playwright 附带了 UI 模式,您可以在其中轻松遍历测试的每一步、查看日志、错误、网络请求、检查 DOM 快照等。您还可以使用 Playwright Inspector,它允许您逐步执行 Playwright API 调用、查看调试日志并探索 定位器。
在 UI 模式下调试测试
我们强烈建议使用 UI 模式调试测试,以获得更好的开发体验。在 UI 模式下,您可以轻松遍历测试的每一步,并直观地查看每一步之前、期间和之后发生的情况。UI 模式还附带了许多其他功能,如定位器选择器、监视模式等。
npx playwright test --ui

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

查看我们的 UI 模式详细指南以了解更多功能。
使用 Playwright Inspector 调试测试
要调试所有测试,请运行 Playwright 测试命令,后跟 --debug 标志。
npx playwright test --debug

此命令会打开一个浏览器窗口以及 Playwright Inspector。您可以使用检查器顶部的“单步执行”(step over)按钮来逐步运行测试。或者,按下“播放”按钮以从头到尾运行测试。测试结束后,浏览器窗口将关闭。
要调试单个测试文件,请使用您想要调试的测试文件名运行 Playwright 测试命令,后跟 --debug 标志。
npx playwright test example.spec.ts --debug
要从定义 test(.. 的行号开始调试特定测试,请在测试文件名末尾添加冒号和行号,然后跟上 --debug 标志。
npx playwright test example.spec.ts:10 --debug
调试时,您可以使用“选择定位器”(Pick Locator)按钮在页面上选择一个元素,并查看 Playwright 将用于查找该元素的定位器。您还可以编辑定位器,并在浏览器窗口中实时查看其高亮显示。使用“复制定位器”(Copy Locator)按钮将定位器复制到剪贴板,然后将其粘贴到您的测试中。

查看我们的 调试指南,以了解有关使用 VS Code 调试器、UI 模式和 Playwright Inspector 进行调试,以及使用 浏览器开发者工具进行调试的更多信息。
测试报告
HTML 报告器向您显示测试的完整报告,允许您按浏览器、通过的测试、失败的测试、跳过的测试和不稳定(flaky)的测试来过滤报告。默认情况下,如果某些测试失败,HTML 报告会自动打开,否则您可以使用以下命令打开它。
npx playwright show-report

您可以过滤和搜索测试,也可以点击每个测试以查看测试错误并探索测试的每一步。
