跟踪
用于收集和保存 Playwright 跟踪的 API。Playwright 跟踪可以在 Playwright 脚本运行后在 跟踪查看器 中打开。
在执行操作之前开始录制跟踪。最后,停止跟踪并将其保存到文件。
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.net.cn');
await context.tracing.stop({ path: 'trace.zip' });
方法
start
添加时间:v1.12开始跟踪。
用法
await context.tracing.start({ screenshots: true, snapshots: true });
const page = await context.newPage();
await page.goto('https://playwright.net.cn');
await context.tracing.stop({ path: 'trace.zip' });
参数
options
对象 (可选)-
如果指定,则中间跟踪文件将保存到在 tracesDir 目录(在 browserType.launch() 中指定)中具有给定名称前缀的文件中。要指定最终的跟踪 zip 文件名,您需要将
path
选项传递给 tracing.stop()。 -
是否在跟踪期间捕获屏幕截图。屏幕截图用于构建时间轴预览。
-
如果此选项为真,跟踪将
- 在每个操作上捕获 DOM 快照
- 记录网络活动
-
是否包含跟踪操作的源文件。
-
在跟踪查看器中显示的跟踪名称。
-
返回值
startChunk
添加时间:v1.15开始新的跟踪块。如果您希望在同一个 浏览器上下文 上录制多个跟踪,请使用 tracing.start() 一次,然后使用 tracing.startChunk() 和 tracing.stopChunk() 创建多个跟踪块。
用法
await context.tracing.start({ screenshots: true, snapshots: true });
const page = await context.newPage();
await page.goto('https://playwright.net.cn');
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
对象 (可选)-
如果指定,则中间跟踪文件将保存到在 tracesDir 目录(在 browserType.launch() 中指定)中具有给定名称前缀的文件中。要指定最终的跟踪 zip 文件名,您需要将
path
选项传递给 tracing.stopChunk()。 -
在跟踪查看器中显示的跟踪名称。
-
返回值
stop
添加时间:v1.12停止跟踪。
用法
await tracing.stop();
await tracing.stop(options);
参数
返回值
stopChunk
添加时间:v1.15停止跟踪块。有关多个跟踪块的更多详细信息,请参阅 tracing.startChunk()。
用法
await tracing.stopChunk();
await tracing.stopChunk(options);
参数
options
对象 (可选)-
将自上次 tracing.startChunk() 调用以来收集的跟踪导出到具有给定路径的文件中。
-
返回值