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' });
#
tracing.start([options])options
<Object>name
<string> If specified, the trace is going to be saved into the file with the given name inside thetracesDir
folder specified in browserType.launch([options]).#screenshots
<boolean> Whether to capture screenshots during tracing. Screenshots are used to build a timeline preview.#snapshots
<boolean> Whether to capture DOM snapshot on every action.#
- returns:Promise<void>># <
Start tracing.
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' });
#
tracing.startChunk()Start a new trace chunk. If you'd like to record multiple traces on the same BrowserContext, use tracing.start([options]) once, and then create multiple trace chunks with tracing.startChunk() and tracing.stopChunk([options]).
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.click('text=Get Started');// 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' });
#
tracing.stop([options])Stop tracing.
#
tracing.stopChunk([options])options
<Object>path
<string> Export trace collected since the last tracing.startChunk() call into the file with the given path.#
- returns:Promise<void>># <
Stop the trace chunk. See tracing.startChunk() for more details about multiple trace chunks.