运行和调试测试
简介
您可以运行单个测试、一组测试或所有测试。测试可以在不同的浏览器上运行。默认情况下,测试以无头(headless)模式运行,这意味着在运行测试时不会打开浏览器窗口,结果将显示在终端中。如果您愿意,可以使用 headless 测试运行参数以有头(headed)模式运行测试。
您将学到
运行测试
运行所有测试
使用以下命令运行所有测试。
dotnet test
在有头模式下运行测试
使用以下命令以有头模式运行测试,这将为每个测试打开一个浏览器窗口。
- Bash
- PowerShell
- 批处理
HEADED=1 dotnet test
$env:HEADED="1"
dotnet test
set HEADED=1
dotnet test
在不同浏览器上运行测试:浏览器环境变量
通过 BROWSER 环境变量指定您希望在哪个浏览器上运行测试。
- Bash
- PowerShell
- 批处理
BROWSER=webkit dotnet test
$env:BROWSER="webkit"
dotnet test
set BROWSER=webkit
dotnet test
在不同浏览器上运行测试:启动配置
通过调整启动配置选项来指定您希望在哪个浏览器上运行测试
dotnet test -- Playwright.BrowserName=webkit
要在多个浏览器或配置上运行测试,您需要多次调用 dotnet test 命令。在此处,您可以指定 BROWSER 环境变量,或通过 runsettings 文件设置 Playwright.BrowserName。
dotnet test --settings:chromium.runsettings
dotnet test --settings:firefox.runsettings
dotnet test --settings:webkit.runsettings
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<Playwright>
<BrowserName>chromium</BrowserName>
</Playwright>
</RunSettings>
有关更多信息,请参阅 Microsoft 文档中的 选择性单元测试 (selective unit tests)。
运行特定测试
要运行单个测试文件,请使用过滤器标志,后跟要运行的测试类名。
dotnet test --filter "ExampleTest"
要运行一组测试文件,请使用过滤器标志,后跟要运行的测试类名。
dotnet test --filter "ExampleTest1|ExampleTest2"
要运行具有特定标题的测试,请使用过滤器标志,后跟 Name~ 和测试标题。
dotnet test --filter "Name~GetStartedLink"
使用多个 worker 运行测试:
- MSTest
- NUnit
- xUnit
- xUnit v3
dotnet test -- NUnit.NumberOfTestWorkers=5
dotnet test -- MSTest.Parallelize.Workers=5
dotnet test -- xUnit.MaxParallelThreads=5
有关使用 xUnit 并行运行测试的更多信息,请参阅此处。
我们推荐使用 xUnit 2.8+,它默认使用 conservative(保守型)并行算法。
dotnet test -- xUnit.MaxParallelThreads=5
有关使用 xUnit v3 并行运行测试的更多信息,请参阅此处。
xUnit v3 默认使用 conservative(保守型)并行算法。
调试测试
由于 Playwright 在 .NET 中运行,您可以使用您选择的调试器(例如 Visual Studio Code 或 Visual Studio)进行调试。Playwright 自带 Playwright Inspector,它允许您逐步执行 Playwright API 调用、查看它们的调试日志并探索 定位器 (locators)。
- Bash
- PowerShell
- 批处理
PWDEBUG=1 dotnet test
$env:PWDEBUG=1
dotnet test
set PWDEBUG=1
dotnet test
查看我们的 调试指南 以了解有关 Playwright Inspector 的更多信息,以及如何使用 浏览器开发者工具 进行调试。