跳到主要内容

Tracing

收集和保存 Playwright 跟踪(trace)的 API。Playwright 跟踪文件可以在 Playwright 脚本运行后通过跟踪查看器打开。

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

browser = chromium.launch()
context = browser.new_context()
context.tracing.start(screenshots=True, snapshots=True)
page = context.new_page()
page.goto("https://playwright.dev")
context.tracing.stop(path = "trace.zip")

方法

group

新增于: v1.49 tracing.group
警告

如有可用,请优先使用 test.step

在跟踪中创建一个新的分组,后续的 API 调用都将分配到该分组,直到调用 tracing.group_end() 为止。分组可以嵌套,并将在跟踪查看器中显示。

用法

# group 和 group_end 之间的所有操作
# 都会在跟踪查看器中作为一个分组显示。
page.context.tracing.group("打开 Playwright.dev > API")
page.goto("https://playwright.dev/")
page.get_by_role("link", name="API").click()
page.context.tracing.group_end()

参数

  • name str#

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

  • location Dict (可选)#

    • file str

    • line int (可选)

    • column int (可选)

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

返回值


group_end

新增于: v1.49 tracing.group_end

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

用法

tracing.group_end()

返回值


start

新增于: v1.12 tracing.start

开始跟踪。

用法

context.tracing.start(screenshots=True, snapshots=True)
page = context.new_page()
page.goto("https://playwright.dev")
context.tracing.stop(path = "trace.zip")

参数

  • name str (可选)#

    如果指定,将会把中间跟踪文件保存到 browser_type.launch() 中指定的 traces_dir 目录下,并以给定名称为前缀。要指定最终的 trace zip 文件名,需要在 tracing.stop() 方法中传递 path 参数。

  • screenshots bool (可选)#

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

  • snapshots bool (可选)#

    如果该选项为 true,则跟踪将会

    • 在每个操作时捕获 DOM 快照
    • 记录网络活动
  • sources bool (可选) 新增于: v1.17#

    是否为跟踪操作包含源文件。

  • title str (可选) 新增于: v1.17#

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

返回值


start_chunk

新增于: v1.15 tracing.start_chunk

开始一个新的跟踪分段(trace chunk)。如果你想在同一个 BrowserContext 上记录多个跟踪,只需调用一次 tracing.start(),然后通过 tracing.start_chunk()tracing.stop_chunk() 创建多个跟踪分段。

用法

context.tracing.start(screenshots=True, snapshots=True)
page = context.new_page()
page.goto("https://playwright.dev")

context.tracing.start_chunk()
page.get_by_text("Get Started").click()
# start_chunk 和 stop_chunk 之间的所有操作都会被记录到跟踪中。
context.tracing.stop_chunk(path = "trace1.zip")

context.tracing.start_chunk()
page.goto("http://example.com")
# 保存一个包含不同操作的第二个跟踪文件。
context.tracing.stop_chunk(path = "trace2.zip")

参数

  • name str (可选) 新增于: v1.32#

    如果指定,中间跟踪文件将会以给定名称为前缀,保存在 browser_type.launch() 中指定的 traces_dir 目录下。要指定最终的 trace zip 文件名,需要在 tracing.stop_chunk() 方法中传递 path 参数。

  • title str (可选) 新增于: v1.17#

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

返回值


stop

新增于: v1.12 tracing.stop

停止跟踪。

用法

tracing.stop()
tracing.stop(**kwargs)

参数

返回值


stop_chunk

新增于: v1.15 tracing.stop_chunk

停止当前的跟踪分段。更多关于多个跟踪分段的细节请参见 tracing.start_chunk()

用法

tracing.stop_chunk()
tracing.stop_chunk(**kwargs)

参数

返回值