Tracing
用于收集和保存 Playwright 跟踪的 API。Playwright 脚本运行后,可以在 Trace Viewer 中打开 Playwright 跟踪。
您可能希望在您的配置文件中启用追踪,而不是使用context.tracing。
context.tracing API 会捕获浏览器操作和网络活动,但它不会记录测试断言(如 expect 调用)。我们推荐通过 Playwright Test 配置 启用追踪,这会包含这些断言,并提供更完整的追踪以调试测试失败。
在执行操作之前开始记录追踪。最后,停止追踪并将其保存到文件中。
using var playwright = await Playwright.CreateAsync();
var browser = await playwright.Chromium.LaunchAsync();
await using var context = await browser.NewContextAsync();
await context.Tracing.StartAsync(new()
{
Screenshots = true,
Snapshots = true
});
var page = await context.NewPageAsync();
await page.GotoAsync("https://playwright.net.cn");
await context.Tracing.StopAsync(new()
{
Path = "trace.zip"
});
方法
GroupAsync
新增于: v1.49如果可用,请改用test.step。
在跟踪中创建一个新组,将所有后续 API 调用分配给此组,直到调用 Tracing.GroupEndAsync()。组可以嵌套,并将在跟踪查看器中可见。
用法
// All actions between GroupAsync and GroupEndAsync
// will be shown in the trace viewer as a group.
await Page.Context.Tracing.GroupAsync("Open Playwright.dev > API");
await Page.GotoAsync("https://playwright.net.cn/");
await Page.GetByRole(AriaRole.Link, new() { Name = "API" }).ClickAsync();
await Page.Context.Tracing.GroupEndAsync();
参数
-
在追踪查看器中显示的组名。
-
optionsTracingGroupOptions?(可选)-
LocationLocation? (可选)#为要在跟踪查看器中显示的组指定自定义位置。默认为 Tracing.GroupAsync() 调用的位置。
-
返回
GroupEndAsync
新增于: v1.49关闭由 Tracing.GroupAsync() 创建的最后一个组。
用法
await Tracing.GroupEndAsync();
返回
StartAsync
添加于:v1.12开始追踪。
您可能希望在您的配置文件中启用追踪,而不是使用Tracing.start。
context.tracing API 会捕获浏览器操作和网络活动,但它不会记录测试断言(如 expect 调用)。我们推荐通过 Playwright Test 配置 启用追踪,这会包含这些断言,并提供更完整的追踪以调试测试失败。
用法
using var playwright = await Playwright.CreateAsync();
var browser = await playwright.Chromium.LaunchAsync();
await using var context = await browser.NewContextAsync();
await context.Tracing.StartAsync(new()
{
Screenshots = true,
Snapshots = true
});
var page = await context.NewPageAsync();
await page.GotoAsync("https://playwright.net.cn");
await context.Tracing.StopAsync(new()
{
Path = "trace.zip"
});
参数
optionsTracingStartOptions?(可选)-
如果指定,中间跟踪文件将保存到 TracesDir 目录(在 BrowserType.LaunchAsync() 中指定)中带有给定名称前缀的文件中。要指定最终的跟踪 zip 文件名,您需要向 Tracing.StopAsync() 传递
path选项。 -
是否在追踪期间捕获屏幕截图。屏幕截图用于构建时间线预览。
-
如果此选项为 true,追踪将
- 在每次操作时捕获 DOM 快照
- 记录网络活动
-
是否包含追踪操作的源文件。
-
在追踪查看器中显示的追踪名称。
-
返回
StartChunkAsync
新增于: v1.15开始一个新的跟踪块。如果你想在同一个 BrowserContext 上记录多个跟踪,请调用一次 Tracing.StartAsync(),然后使用 Tracing.StartChunkAsync() 和 Tracing.StopChunkAsync() 创建多个跟踪块。
用法
using var playwright = await Playwright.CreateAsync();
var browser = await playwright.Chromium.LaunchAsync();
await using var context = await browser.NewContextAsync();
await context.Tracing.StartAsync(new()
{
Screenshots = true,
Snapshots = true
});
var page = await context.NewPageAsync();
await page.GotoAsync("https://playwright.net.cn");
await context.Tracing.StartChunkAsync();
await page.GetByText("Get Started").ClickAsync();
// Everything between StartChunkAsync and StopChunkAsync will be recorded in the trace.
await context.Tracing.StopChunkAsync(new()
{
Path = "trace1.zip"
});
await context.Tracing.StartChunkAsync();
await page.GotoAsync("http://example.com");
// Save a second trace file with different actions.
await context.Tracing.StopChunkAsync(new()
{
Path = "trace2.zip"
});
参数
optionsTracingStartChunkOptions?(可选)-
如果指定,中间跟踪文件将保存到 TracesDir 目录(在 BrowserType.LaunchAsync() 中指定)中带有给定名称前缀的文件中。要指定最终的跟踪 zip 文件名,您需要向 Tracing.StopChunkAsync() 传递
path选项。 -
在追踪查看器中显示的追踪名称。
-
返回
StopAsync
添加于:v1.12停止追踪。
用法
await Tracing.StopAsync(options);
参数
返回
StopChunkAsync
新增于: v1.15停止跟踪块。有关多个跟踪块的更多详细信息,请参阅 Tracing.StartChunkAsync()。
用法
await Tracing.StopChunkAsync(options);
参数
optionsTracingStopChunkOptions?(可选)-
将自上次调用 Tracing.StartChunkAsync() 以来收集的跟踪导出到给定路径的文件中。
-
返回