playwright/docs/src/api/class-tracing.md

3.2 KiB

class: Tracing

API for collecting and saving Playwright traces. Playwright traces can be opened using the CLI after Playwright script runs.

Start with specifying the folder traces will be stored in:

const browser = await chromium.launch({ traceDir: 'traces' });
const context = await browser.newContext();
await context.tracing.start({ name: 'trace', screenshots: true, snapshots: true });
const page = await context.newPage();
await page.goto('https://playwright.dev');
await context.tracing.stop();
await context.tracing.export('trace.zip');
Browser browser = chromium.launch(new BrowserType.LaunchOptions().setTraceDir("trace"));
BrowserContext context = browser.newContext();
context.tracing.start(page, new Tracing.StartOptions()
  .setName("trace")
  .setScreenshots(true)
  .setSnapshots(true);
Page page = context.newPage();
page.goto("https://playwright.dev");
context.tracing.stop();
context.tracing.export(Paths.get("trace.zip")))
browser = await chromium.launch(traceDir='traces')
context = await browser.new_context()
await context.tracing.start(name="trace", screenshots=True, snapshots=True)
await page.goto("https://playwright.dev")
await context.tracing.stop()
await context.tracing.export("trace.zip")
browser = chromium.launch(traceDir='traces')
context = browser.new_context()
context.tracing.start(name="trace", screenshots=True, snapshots=True)
page.goto("https://playwright.dev")
context.tracing.stop()
context.tracing.export("trace.zip")

async method: Tracing.export

Export trace into the file with the given name. Should be called after the tracing has stopped.

param: Tracing.export.path

  • path <[path]>

File to save the trace into.

async method: Tracing.start

Start tracing.

await context.tracing.start({ name: 'trace', screenshots: true, snapshots: true });
const page = await context.newPage();
await page.goto('https://playwright.dev');
await context.tracing.stop();
await context.tracing.export('trace.zip');
context.tracing.start(page, new Tracing.StartOptions()
  .setName("trace")
  .setScreenshots(true)
  .setSnapshots(true);
Page page = context.newPage();
page.goto('https://playwright.dev');
context.tracing.stop();
context.tracing.export(Paths.get("trace.zip")))
await context.tracing.start(name="trace", screenshots=True, snapshots=True)
await page.goto("https://playwright.dev")
await context.tracing.stop()
await context.tracing.export("trace.zip")
context.tracing.start(name="trace", screenshots=True, snapshots=True)
page.goto("https://playwright.dev")
context.tracing.stop()
context.tracing.export("trace.zip")

option: Tracing.start.name

  • name <[string]>

If specified, the trace is going to be saved into the file with the given name inside the [option: traceDir] folder specified in [method: BrowserType.launch].

option: Tracing.start.screenshots

  • screenshots <[boolean]>

Whether to capture screenshots during tracing. Screenshots are used to build a timeline preview.

option: Tracing.start.snapshots

  • snapshots <[boolean]>

Whether to capture DOM snapshot on every action.

async method: Tracing.stop

Stop tracing.