Tracing
用于收集和保存 Playwright 追踪的 API。在 Playwright 脚本运行后,可以在 Trace Viewer 中打开 Playwright 追踪。
您可能希望在您的配置文件中启用追踪,而不是使用context.tracing。
context.tracing API 会捕获浏览器操作和网络活动,但它不会记录测试断言(如 expect 调用)。我们推荐通过 Playwright Test 配置 启用追踪,这会包含这些断言,并提供更完整的追踪以调试测试失败。
在执行操作之前开始记录追踪。最后,停止追踪并将其保存到文件中。
Browser browser = chromium.launch();
BrowserContext context = browser.newContext();
context.tracing().start(new Tracing.StartOptions()
.setScreenshots(true)
.setSnapshots(true));
Page page = context.newPage();
page.navigate("https://playwright.net.cn");
context.tracing().stop(new Tracing.StopOptions()
.setPath(Paths.get("trace.zip")));
方法
group
新增于: v1.49如果可用,请改用test.step。
在追踪中创建一个新组,将后续的所有 API 调用分配给该组,直到调用 Tracing.groupEnd()。组可以嵌套,并且将显示在追踪查看器中。
用法
// All actions between group and groupEnd
// will be shown in the trace viewer as a group.
page.context().tracing().group("Open Playwright.dev > API");
page.navigate("https://playwright.net.cn/");
page.getByRole(AriaRole.LINK, new Page.GetByRoleOptions().setName("API")).click();
page.context().tracing().groupEnd();
参数
-
在追踪查看器中显示的组名。
-
optionsTracing.GroupOptions(可选)-
setLocationLocation (可选)#指定要在追踪查看器中显示的组的自定义位置。默认为 Tracing.group() 调用所在的位置。
-
返回
groupEnd
新增于: v1.49关闭由 Tracing.group() 创建的最后一个组。
用法
Tracing.groupEnd();
返回
start
添加于:v1.12开始追踪。
您可能希望在您的配置文件中启用追踪,而不是使用Tracing.start。
context.tracing API 会捕获浏览器操作和网络活动,但它不会记录测试断言(如 expect 调用)。我们推荐通过 Playwright Test 配置 启用追踪,这会包含这些断言,并提供更完整的追踪以调试测试失败。
用法
context.tracing().start(new Tracing.StartOptions()
.setScreenshots(true)
.setSnapshots(true));
Page page = context.newPage();
page.navigate("https://playwright.net.cn");
context.tracing().stop(new Tracing.StopOptions()
.setPath(Paths.get("trace.zip")));
参数
optionsTracing.StartOptions(可选)-
如果指定,中间追踪文件将保存在 BrowserType.launch() 中 setTracesDir 指定的目录下的具有给定名称前缀的文件中。要指定最终的追踪 zip 文件名,您需要向 Tracing.stop() 传递
path选项。 -
是否在追踪期间捕获屏幕截图。屏幕截图用于构建时间线预览。
-
如果此选项为 true,追踪将
- 在每次操作时捕获 DOM 快照
- 记录网络活动
-
setSourcesboolean (可选)新增于: v1.17#是否包含追踪操作的源文件。应用程序的源代码目录列表必须通过
PLAYWRIGHT_JAVA_SRC环境变量提供(路径在 Windows 上用 ';' 分隔,在其他平台上用 ':' 分隔)。 -
setTitleString (可选)新增于: v1.17#在追踪查看器中显示的追踪名称。
-
返回
startChunk
新增于: v1.15开始一个新的追踪块。如果你想在同一个 BrowserContext 上记录多个追踪,请调用一次 Tracing.start(),然后使用 Tracing.startChunk() 和 Tracing.stopChunk() 创建多个追踪块。
用法
context.tracing().start(new Tracing.StartOptions()
.setScreenshots(true)
.setSnapshots(true));
Page page = context.newPage();
page.navigate("https://playwright.net.cn");
context.tracing().startChunk();
page.getByText("Get Started").click();
// Everything between startChunk and stopChunk will be recorded in the trace.
context.tracing().stopChunk(new Tracing.StopChunkOptions()
.setPath(Paths.get("trace1.zip")));
context.tracing().startChunk();
page.navigate("http://example.com");
// Save a second trace file with different actions.
context.tracing().stopChunk(new Tracing.StopChunkOptions()
.setPath(Paths.get("trace2.zip")));
参数
optionsTracing.StartChunkOptions(可选)-
setNameString (可选)新增于: v1.32#如果指定,中间追踪文件将保存在 BrowserType.launch() 中 setTracesDir 指定的目录下的具有给定名称前缀的文件中。要指定最终的追踪 zip 文件名,您需要向 Tracing.stopChunk() 传递
path选项。 -
setTitleString (可选)新增于: v1.17#在追踪查看器中显示的追踪名称。
-
返回
stop
添加于:v1.12停止追踪。
用法
Tracing.stop();
Tracing.stop(options);
参数
返回
stopChunk
新增于: v1.15停止追踪块。有关多个追踪块的更多详细信息,请参阅 Tracing.startChunk()。
用法
Tracing.stopChunk();
Tracing.stopChunk(options);
参数
optionsTracing.StopChunkOptions(可选)-
将自上一次 Tracing.startChunk() 调用以来收集的追踪导出到给定路径的文件中。
-
返回