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