On this page
Tracing
API for collecting and saving Playwright traces. Playwright traces can be opened in Trace Viewer after Playwright script runs.
Start recording a trace before performing actions. At the end, stop tracing and save it to a file.
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' });
Methods
start
Start tracing.
Usage
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' });
Arguments
optionsObject (optional)namestring (optional)If specified, intermediate trace files are going to be saved into the files with the given name prefix inside the
tracesDirfolder specified in browserType.launch(). To specify the final trace zip file name, you need to passpathoption to tracing.stop() instead.screenshotsboolean (optional)Whether to capture screenshots during tracing. Screenshots are used to build a timeline preview.
snapshotsboolean (optional)If this option is true tracing will
- capture DOM snapshot on every action
- record network activity
sourcesboolean (optional)Whether to include source files for trace actions.
titlestring (optional)Trace name to be shown in the Trace Viewer.
Returns
startChunk
Start a new trace chunk. If you'd like to record multiple traces on the same BrowserContext, use tracing.start() once, and then create multiple trace chunks with tracing.startChunk() and tracing.stopChunk().
Usage
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' });
Arguments
optionsObject (optional)namestring (optional)If specified, intermediate trace files are going to be saved into the files with the given name prefix inside the
tracesDirfolder specified in browserType.launch(). To specify the final trace zip file name, you need to passpathoption to tracing.stopChunk() instead.titlestring (optional)Trace name to be shown in the Trace Viewer.
Returns
stop
Stop tracing.
Usage
await tracing.stop();
await tracing.stop(options);
Arguments
Returns
stopChunk
Stop the trace chunk. See tracing.startChunk() for more details about multiple trace chunks.
Usage
await tracing.stopChunk();
await tracing.stopChunk(options);
Arguments
optionsObject (optional)pathstring (optional)Export trace collected since the last tracing.startChunk() call into the file with the given path.
Returns
© 2024 Microsoft
Licensed under the Apache License, Version 2.0.
https://playwright.dev/docs/api/class-tracing