跳到主内容

Tracing

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

在执行操作之前开始记录跟踪。结束时,停止跟踪并将其保存到文件中。

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

方法

group

新增于: v1.49 tracing.group
注意

如果可用,请改用 test.step

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

用法

// 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.net.cn/");
page.getByRole(AriaRole.LINK, new Page.GetByRoleOptions().setName("API")).click();
page.context().tracing().groupEnd();

参数

  • name String#

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

  • options Tracing.GroupOptions (可选)

    • setLocation Location (可选)#
      • setFile String

      • setLine int (可选)

      • setColumn int (可选)

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

返回值


groupEnd

新增于: v1.49 tracing.groupEnd

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

用法

Tracing.groupEnd();

返回值


start

新增于: v1.12 tracing.start

开始跟踪。

用法

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

参数

  • options Tracing.StartOptions (可选)
    • setName String (可选)#

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

    • setScreenshots boolean (可选)#

      是否在跟踪期间捕获屏幕截图。屏幕截图用于构建时间线预览。

    • setSnapshots boolean (可选)#

      如果此选项为 true,跟踪将

      • 捕获每次操作的 DOM 快照
      • 记录网络活动
    • setSources boolean (可选)新增于: v1.17#

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

    • setTitle String (可选)新增于: v1.17#

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

返回值


startChunk

新增于: v1.15 tracing.startChunk

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

用法

context.tracing().start(new Tracing.StartOptions()
.setScreenshots(true)
.setSnapshots(true));
Page page = context.newPage();
page.navigate("https://playwright.net.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")));

参数

  • options Tracing.StartChunkOptions (可选)
    • setName String (可选)新增于: v1.32#

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

    • setTitle String (可选)新增于: v1.17#

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

返回值


stop

新增于: v1.12 tracing.stop

停止跟踪。

用法

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

参数

  • options Tracing.StopOptions (可选)
    • setPath Path (可选)#

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

返回值


stopChunk

新增于: v1.15 tracing.stopChunk

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

用法

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

参数

  • options Tracing.StopChunkOptions (可选)
    • setPath Path (可选)#

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

返回值