跳到主要内容

运行和调试测试

简介

使用 Playwright,您可以运行单个测试、一组测试或所有测试。可以使用 --project 标志在单个浏览器或多个浏览器上运行测试。默认情况下,测试会并行运行,并且以无头方式运行,这意味着在运行测试时不会打开任何浏览器窗口,并且结果将在终端中显示。但是,您可以使用 --headed CLI 参数以有头模式运行测试,或者可以使用 --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 扩展 直接在 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 检查器调试测试

要调试所有测试,请运行 Playwright 测试命令,后跟 --debug 标志。

npx playwright test --debug

Debugging Tests with the Playwright inspector

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

要调试一个测试文件,请运行 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 检查器 进行调试的更多信息,以及有关使用 浏览器开发者工具 进行调试的信息。

测试报告

HTML 报告器 显示了您的测试的完整报告,使您可以按浏览器、通过的测试、失败的测试、跳过的测试和不稳定的测试过滤报告。默认情况下,如果某些测试失败,HTML 报告会自动打开,否则您可以使用以下命令打开它。

npx playwright show-report

HTML Report

您可以过滤和搜索测试,以及单击每个测试以查看测试错误并探索测试的每个步骤。

HTML Reporter detail view

下一步