Skip to main content
Version: 1.16

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.

Browser browser = chromium.launch();BrowserContext context = browser.newContext();context.tracing().start(new Tracing.StartOptions()  .setScreenshots(true)  .setSnapshots(true));Page page = context.newPage();page.navigate("https://playwright.dev");context.tracing().stop(new Tracing.StopOptions()  .setPath(Paths.get("trace.zip")));

Tracing.start([options])#

  • options <Tracing.StartOptions>
    • setName <String> If specified, the trace is going to be saved into the file with the given name inside the tracesDir folder specified in BrowserType.launch([options]).#
    • setScreenshots <boolean> Whether to capture screenshots during tracing. Screenshots are used to build a timeline preview.#
    • setSnapshots <boolean> Whether to capture DOM snapshot on every action.#
  • returns: <void>#

Start tracing.

context.tracing().start(new Tracing.StartOptions()  .setScreenshots(true)  .setSnapshots(true));Page page = context.newPage();page.navigate("https://playwright.dev");context.tracing().stop(new Tracing.StopOptions()  .setPath(Paths.get("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]).

context.tracing().start(new Tracing.StartOptions()  .setScreenshots(true)  .setSnapshots(true));Page page = context.newPage();page.navigate("https://playwright.dev");
context.tracing().startChunk();page.click("text=Get Started");// Everything between startChunk and stopChunk will be recorded in the trace.context.tracing().stopChunk(new Tracing.StopChunkOptions()  .setPath(Paths.get("trace1.zip")));
context.tracing().startChunk();page.navigate("http://example.com");// Save a second trace file with different actions.context.tracing().stopChunk(new Tracing.StopChunkOptions()  .setPath(Paths.get("trace2.zip")));

Tracing.stop([options])#

  • options <Tracing.StopOptions>
    • setPath <Path> Export trace into the file with the given path.#
  • returns: <void>#

Stop tracing.

Tracing.stopChunk([options])#

  • options <Tracing.StopChunkOptions>
  • returns: <void>#

Stop the trace chunk. See Tracing.startChunk() for more details about multiple trace chunks.