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
Added in: v1.12Start 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
options
Object (optional)If specified, the trace is going to be saved into the file with the given name inside the
tracesDir
folder specified in browserType.launch().screenshots
boolean (optional)#Whether to capture screenshots during tracing. Screenshots are used to build a timeline preview.
If this option is true tracing will
- capture DOM snapshot on every action
- record network activity
sources
boolean (optional) Added in: v1.17#Whether to include source files for trace actions.
title
string (optional) Added in: v1.17#Trace name to be shown in the Trace Viewer.
startChunk
Added in: v1.15Start 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
options
Object (optional)name
string (optional) Added in: v1.32#If specified, the trace is going to be saved into the file with the given name inside the
tracesDir
folder specified in browserType.launch().title
string (optional) Added in: v1.17#Trace name to be shown in the Trace Viewer.
stop
Added in: v1.12Stop tracing.
Usage
await tracing.stop();
await tracing.stop(options);
Arguments
stopChunk
Added in: v1.15Stop the trace chunk. See tracing.startChunk() for more details about multiple trace chunks.
Usage
await tracing.stopChunk();
await tracing.stopChunk(options);
Arguments
options
Object (optional)Export trace collected since the last tracing.startChunk() call into the file with the given path.