跳到主要内容

运行与调试测试

简介​

使用 Playwright 你可以运行单个测试、一组测试或全部测试。通过使用 --project 标志,可以在一个或多个浏览器上运行测试。测试默认以并行方式运行,并且是无头(headless)模式运行,这意味着运行测试时不会打开浏览器窗口,结果将在终端中显示。不过,你可以使用 --headed CLI 参数以有头模式运行测试,或者使用 --ui 标志以UI 模式运行测试。查看完整的测试追踪记录,包括观察模式、时间旅行调试等功能。

你将学习

运行测试​

命令行​

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

npx playwright test

命令行中运行的测试

在 UI 模式下运行测试​

我们强烈推荐使用 UI 模式 运行测试以获得更好的开发体验。在该模式下,您可以逐步查看测试的每个步骤,直观地了解每一步骤执行前、执行中和执行后的状态。UI 模式还提供了许多其他功能,如定位器选择器、监视模式等。

npx playwright test --ui

UI 模式

查看我们的 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/

要运行文件名包含 landing 或 login 的测试文件,只需将这些关键词传入 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 扩展

调试测试​

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

在 UI 模式下调试测试​

我们强烈推荐使用 UI 模式 来调试测试,它能提供更好的开发体验。在这个模式下,你可以轻松地逐步执行测试的每个步骤,并直观地查看每一步执行前、执行中和执行后的页面状态。UI 模式还包含许多其他功能,如定位器选择器、监视模式等。

npx playwright test --ui

在 UI 模式下显示错误

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

在 UI 模式下选择定位器

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

使用 Playwright Inspector 调试测试​

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

npx playwright test --debug

使用 Playwright Inspector 调试测试

此命令将打开浏览器窗口和 Playwright Inspector。你可以使用检查器顶部的"单步执行"按钮逐步运行测试,或点击"播放"按钮从头到尾运行测试。测试完成后,浏览器窗口将自动关闭。

要调试单个测试文件,运行 Playwright 测试命令并指定要调试的测试文件名,加上 --debug 标志。

npx playwright test example.spec.ts --debug

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

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

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

Playwright Inspector 中的定位器选择器

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

测试报告​

HTML 报告器会展示完整的测试报告,允许你按浏览器、通过的测试、失败的测试、跳过的测试和不稳定的测试进行筛选。默认情况下,如果有测试失败,HTML 报告会自动打开,否则你可以通过以下命令手动打开。

npx playwright show-report

HTML 报告

你可以筛选和搜索测试,也可以点击每个测试查看错误详情并逐步探索测试的每个步骤。

HTML 报告器详情视图

下一步​