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")));
Methods
start
Added in: v1.12Start 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")));
Arguments
options
Tracing.StartOptions
(optional)-
If specified, intermediate trace files are going to be saved into the files with the given name prefix inside the
tracesDir
folder specified in BrowserType.launch(). To specify the final trace zip file name, you need to passpath
option to Tracing.stop() instead. -
setScreenshots
boolean (optional)#Whether to capture screenshots during tracing. Screenshots are used to build a timeline preview.
-
setSnapshots
boolean (optional)#If this option is true tracing will
- capture DOM snapshot on every action
- record network activity
-
setSources
boolean (optional) Added in: v1.17#Whether to include source files for trace actions. List of the directories with source code for the application must be provided via
PLAYWRIGHT_JAVA_SRC
environment variable (the paths should be separated by ';' on Windows and by ':' on other platforms). -
setTitle
String (optional) Added in: v1.17#Trace name to be shown in the Trace Viewer.
-
Returns
startChunk
Added in: v1.15Start 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")));
Arguments
options
Tracing.StartChunkOptions
(optional)-
setName
String (optional) Added in: v1.32#If specified, intermediate trace files are going to be saved into the files with the given name prefix inside the
tracesDir
folder specified in BrowserType.launch(). To specify the final trace zip file name, you need to passpath
option to Tracing.stopChunk() instead. -
setTitle
String (optional) Added in: v1.17#Trace name to be shown in the Trace Viewer.
-
Returns
stop
Added in: v1.12Stop tracing.
Usage
Tracing.stop();
Tracing.stop(options);
Arguments
options
Tracing.StopOptions
(optional)
Returns
stopChunk
Added in: v1.15Stop the trace chunk. See Tracing.startChunk() for more details about multiple trace chunks.
Usage
Tracing.stopChunk();
Tracing.stopChunk(options);
Arguments
options
Tracing.StopChunkOptions
(optional)-
Export trace collected since the last Tracing.startChunk() call into the file with the given path.
-
Returns