跳至主要内容

追踪

用于收集和保存Playwright跟踪记录的API。Playwright跟踪记录可以在脚本运行后通过Trace Viewer查看。

在执行操作前开始记录追踪。最后停止追踪并将其保存到文件中。

const browser = await chromium.launch();
const context = await browser.newContext();
await context.tracing.start({ screenshots: true, snapshots: true });
const page = await context.newPage();
await page.goto('https://playwright.dev');
await context.tracing.stop({ path: 'trace.zip' });

方法

分组

Added in: v1.49 tracing.group
caution

在可用时请改用 test.step

在追踪记录中创建一个新组,将后续所有API调用分配至该组,直到调用tracing.groupEnd()为止。组可以嵌套,并会在追踪查看器中显示。

用法

// use test.step instead
await test.step('Log in', async () => {
// ...
});

参数

  • name string#

    在追踪查看器中显示的组名称。

  • options Object (可选)

    • location Object (optional)# Specifies a custom location for the group to be shown in the trace viewer. Defaults to the location of the tracing.group() call.

返回


groupEnd

Added in: v1.49 tracing.groupEnd

关闭由tracing.group()创建的最后一个组。

用法

await tracing.groupEnd();

返回


开始

Added in: v1.12 tracing.start

开始追踪。

用法

await context.tracing.start({ screenshots: true, snapshots: true });
const page = await context.newPage();
await page.goto('https://playwright.dev');
await context.tracing.stop({ path: 'trace.zip' });

参数

  • options Object (optional)
    • name string (可选)#

      如果指定该参数,中间跟踪文件将被保存到browserType.launch()中指定的tracesDir目录下,并以给定名称作为前缀。要指定最终的跟踪zip文件名,您需要改为向tracing.stop()传递path选项。

    • screenshots boolean (可选)#

      是否在跟踪期间捕获屏幕截图。屏幕截图用于构建时间线预览。

    • snapshots boolean (可选)#

      如果此选项为true,追踪将

      • 在每次操作时捕获DOM快照
      • 记录网络活动
    • sources boolean (可选) 添加于: v1.17#

      是否包含跟踪操作的源文件。

    • title string (可选) 添加于: v1.17#

      在Trace Viewer中显示的追踪名称。

返回


startChunk

Added in: v1.15 tracing.startChunk

开始一个新的追踪块。如果您想在同一个BrowserContext上记录多个追踪,请先使用tracing.start()一次,然后通过tracing.startChunk()tracing.stopChunk()创建多个追踪块。

用法

await context.tracing.start({ screenshots: true, snapshots: true });
const page = await context.newPage();
await page.goto('https://playwright.dev');

await context.tracing.startChunk();
await page.getByText('Get Started').click();
// Everything between startChunk and stopChunk will be recorded in the trace.
await context.tracing.stopChunk({ path: 'trace1.zip' });

await context.tracing.startChunk();
await page.goto('http://example.com');
// Save a second trace file with different actions.
await context.tracing.stopChunk({ path: 'trace2.zip' });

参数

  • options Object (optional)
    • name string (可选) 添加于: v1.32#

      如果指定该参数,中间跟踪文件将被保存到browserType.launch()中指定的tracesDir目录下,并以给定名称作为前缀。要指定最终的跟踪zip文件名,您需要改为向tracing.stopChunk()传递path选项。

    • title string (可选) 添加于: v1.17#

      将在Trace Viewer中显示的追踪名称。

返回


停止

Added in: v1.12 tracing.stop

停止追踪。

用法

await tracing.stop();
await tracing.stop(options);

参数

  • options Object (optional)
    • path string (可选)#

      将跟踪记录导出到指定路径的文件中。

返回


stopChunk

Added in: v1.15 tracing.stopChunk

停止跟踪块。有关多个跟踪块的更多详情,请参阅tracing.startChunk()

用法

await tracing.stopChunk();
await tracing.stopChunk(options);

参数

返回