Skip to main content

Tracing

用于收集和保存 Playwright 痕迹的 API。Playwright 脚本运行后,可以在 跟踪查看器 打开 Playwright 痕迹。

¥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.nodejs.cn");
context.tracing().stop(new Tracing.StopOptions()
.setPath(Paths.get("trace.zip")));

方法

¥Methods

group

Added in: v1.49 tracing.group
提醒

在可用时改用 test.step

¥Use test.step instead when available.

在跟踪中创建一个新组,将任何后续 API 调用分配给该组,直到调用 Tracing.groupEnd()。组可以嵌套,并将在跟踪查看器中可见。

¥Creates a new group within the trace, assigning any subsequent API calls to this group, until Tracing.groupEnd() is called. Groups can be nested and will be visible in the trace viewer.

用法

¥Usage

// All actions between group and groupEnd
// will be shown in the trace viewer as a group.
page.context().tracing().group("Open Playwright.dev > API");
page.navigate("https://playwright.nodejs.cn/");
page.getByRole(AriaRole.LINK, new Page.GetByRoleOptions().setName("API")).click();
page.context().tracing().groupEnd();

参数

¥Arguments

跟踪查看器中显示的组名称。

¥Group name shown in the trace viewer.

  • options Tracing.GroupOptions(可选)

    ¥options Tracing.GroupOptions (optional)

    • setLocation 位置(可选)#

      ¥setLocation Location (optional)#

      • setFile String

      • setLine int (optional)

      • setColumn int (optional)

指定要在跟踪查看器中显示的组的自定义位置。默认为 Tracing.group() 调用的位置。

¥Specifies a custom location for the group to be shown in the trace viewer. Defaults to the location of the Tracing.group() call.

返回

¥Returns


groupEnd

Added in: v1.49 tracing.groupEnd

关闭 Tracing.group() 创建的最后一个组。

¥Closes the last group created by Tracing.group().

用法

¥Usage

Tracing.groupEnd();

返回

¥Returns


start

Added in: v1.12 tracing.start

开始追踪。

¥Start tracing.

用法

¥Usage

context.tracing().start(new Tracing.StartOptions()
.setScreenshots(true)
.setSnapshots(true));
Page page = context.newPage();
page.navigate("https://playwright.nodejs.cn");
context.tracing().stop(new Tracing.StopOptions()
.setPath(Paths.get("trace.zip")));

参数

¥Arguments

  • options Tracing.StartOptions(可选)

    ¥options Tracing.StartOptions (optional)

如果指定,中间跟踪文件将保存到 BrowserType.launch() 中指定的 setTracesDir 目录中具有给定名称前缀的文件中。要指定最终跟踪 zip 文件名,你需要将 path 选项传递给 Tracing.stop()

¥If specified, intermediate trace files are going to be saved into the files with the given name prefix inside the setTracesDir directory specified in BrowserType.launch(). To specify the final trace zip file name, you need to pass path option to Tracing.stop() instead.

追踪过程中是否截屏。屏幕截图用于构建时间线预览。

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

如果此选项为 true,则跟踪将

¥If this option is true tracing will

  • 捕获每个动作的 DOM 快照

    ¥capture DOM snapshot on every action

  • 记录网络活动

    ¥record network activity

    • setSources boolean (optional) Added in: v1.17#

是否包含跟踪操作的源文件。必须通过 PLAYWRIGHT_JAVA_SRC 环境变量提供应用源代码目录列表(在 Windows 上,路径应以 ';' 分隔,在其他平台上,路径应以 ':' 分隔)。

¥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.15 tracing.startChunk

开始一个新的跟踪块。如果你想在同一个 BrowserContext 上记录多个跟踪,请使用 Tracing.start() 一次,然后使用 Tracing.startChunk()Tracing.stopChunk() 创建多个跟踪块。

¥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.nodejs.cn");

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(可选)

    ¥options Tracing.StartChunkOptions (optional)

    • setName String (optional) Added in: v1.32#

如果指定,中间跟踪文件将保存到 BrowserType.launch() 中指定的 setTracesDir 目录中具有给定名称前缀的文件中。要指定最终跟踪 zip 文件名,你需要将 path 选项传递给 Tracing.stopChunk()

¥If specified, intermediate trace files are going to be saved into the files with the given name prefix inside the setTracesDir directory specified in BrowserType.launch(). To specify the final trace zip file name, you need to pass path 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.12 tracing.stop

停止追踪。

¥Stop tracing.

用法

¥Usage

Tracing.stop();
Tracing.stop(options);

参数

¥Arguments

  • options Tracing.StopOptions(可选)

    ¥options Tracing.StopOptions (optional)

    • setPath Path (optional)#

将跟踪导出到具有给定路径的文件中。

¥Export trace into the file with the given path.

返回

¥Returns


stopChunk

Added in: v1.15 tracing.stopChunk

停止跟踪块。有关多个跟踪块的更多详细信息,请参阅 Tracing.startChunk()

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

用法

¥Usage

Tracing.stopChunk();
Tracing.stopChunk(options);

参数

¥Arguments

  • options Tracing.StopChunkOptions(可选)

    ¥options Tracing.StopChunkOptions (optional)

    • setPath Path (optional)#

将自上次 Tracing.startChunk() 调用以来收集的跟踪导出到具有给定路径的文件中。

¥Export trace collected since the last Tracing.startChunk() call into the file with the given path.

返回

¥Returns