Interface Tracing


  • public interface 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")));
     
    • Method Detail

      • start

        default void start()
        Start tracing.

        **Usage**

        
         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")));
         
        Since:
        v1.12
      • start

        void start​(Tracing.StartOptions options)
        Start tracing.

        **Usage**

        
         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")));
         
        Since:
        v1.12
      • startChunk

        default void 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**

        
         context.tracing().start(new Tracing.StartOptions()
           .setScreenshots(true)
           .setSnapshots(true));
         Page page = context.newPage();
         page.navigate("https://playwright.dev");
        
         context.tracing().startChunk();
         page.getByText("Get Started").click();
         // 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")));
         
        Since:
        v1.15
      • startChunk

        void startChunk​(Tracing.StartChunkOptions options)
        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**

        
         context.tracing().start(new Tracing.StartOptions()
           .setScreenshots(true)
           .setSnapshots(true));
         Page page = context.newPage();
         page.navigate("https://playwright.dev");
        
         context.tracing().startChunk();
         page.getByText("Get Started").click();
         // 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")));
         
        Since:
        v1.15
      • stop

        default void stop()
        Stop tracing.
        Since:
        v1.12
      • stopChunk

        default void stopChunk()
        Stop the trace chunk. See Tracing.startChunk() for more details about multiple trace chunks.
        Since:
        v1.15