运行和调试测试
简介
使用 Playwright,你可以运行单个测试、一组测试或所有测试。可以通过使用 --project
标志在一个或多个浏览器上运行测试。默认情况下,测试并行运行,并以无头模式运行,这意味着在运行测试时不会打开浏览器窗口,结果将在终端中显示。但是,你可以使用 --headed
CLI 参数在有头模式下运行测试,或者使用 --ui
标志在 UI 模式下运行测试。查看完整的测试跟踪,包括监视模式、时间旅行调试等功能。
你将学到
运行测试
命令行
你可以使用 playwright test
命令运行测试。这将根据 playwright.config
文件中的配置,在所有浏览器上运行测试。默认情况下,测试以无头模式运行,这意味着在运行测试时不会打开浏览器窗口,结果将在终端中显示。
npx playwright test
在 UI 模式下运行测试
我们强烈建议使用 UI 模式运行测试,以获得更好的开发者体验,你可以轻松地逐步查看测试的每个步骤,并直观地看到每个步骤之前、期间和之后发生了什么。UI 模式还附带许多其他功能,例如定位符选择器、监视模式等。
npx playwright test --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 在 Node.js 中运行,你可以使用选择的调试器进行调试,例如使用 console.log
,或在 IDE 中,或直接在 VS Code 中使用 VS Code 扩展。Playwright 附带 UI 模式,你可以轻松地逐步查看测试的每个步骤,查看日志、错误、网络请求、检查 DOM 快照等。你还可以使用 Playwright Inspector,它允许你逐步执行 Playwright API 调用,查看它们的调试日志并探索 定位符。
在 UI 模式下调试测试
我们强烈建议使用 UI 模式调试测试,以获得更好的开发者体验,你可以轻松地逐步查看测试的每个步骤,并直观地看到每个步骤之前、期间和之后发生了什么。UI 模式还附带许多其他功能,例如定位符选择器、监视模式等。
npx playwright test --ui
调试时,可以使用“选择定位符”按钮在页面上选择一个元素,并查看 Playwright 将用于查找该元素的定位符。你还可以在定位符演练场中编辑定位符,并实时查看它在浏览器窗口中高亮显示。使用“复制定位符”按钮将定位符复制到剪贴板,然后将其粘贴到你的测试中。
请参阅我们的 UI 模式详细指南,了解更多功能。
使用 Playwright Inspector 调试测试
要调试所有测试,请运行 Playwright 测试命令,后跟 --debug
标志。
npx playwright test --debug
此命令将打开一个浏览器窗口以及 Playwright Inspector。你可以使用 inspector 顶部的一步步执行按钮来逐步执行测试。或者,按下播放按钮从头到尾运行测试。测试完成后,浏览器窗口将关闭。
要调试一个测试文件,请运行 Playwright 测试命令,后跟要调试的测试文件的名称以及 --debug
标志。
npx playwright test example.spec.ts --debug
要从定义 test(..
的行号调试特定测试,请在测试文件名末尾添加一个冒号,后跟行号,然后是 --debug
标志。
npx playwright test example.spec.ts:10 --debug
调试时,可以使用“选择定位符”按钮在页面上选择一个元素,并查看 Playwright 将用于查找该元素的定位符。你还可以编辑定位符,并实时查看它在浏览器窗口中高亮显示。使用“复制定位符”按钮将定位符复制到剪贴板,然后将其粘贴到你的测试中。
请参阅我们的 调试指南,了解有关使用 VS Code 调试器、UI 模式和 Playwright Inspector 进行调试的更多信息,以及使用 浏览器开发者工具 进行调试的信息。
测试报告
HTML 报告器显示你的测试的完整报告,允许你按浏览器、通过的测试、失败的测试、跳过的测试和不稳定的测试过滤报告。默认情况下,如果某些测试失败,HTML 报告会自动打开,否则你可以使用以下命令打开它。
npx playwright show-report
你可以过滤和搜索测试,以及点击每个测试查看测试错误并探索测试的每个步骤。