跳到主要内容

运行与调试测试

简介

使用 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/

要运行文件名包含 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 扩展

调试测试

由于 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 报告器详情视图

下一步