Tracing
用于收集和保存 Playwright 跟踪的 API。Playwright 跟踪可以在 Playwright 脚本运行后在 Trace Viewer 中打开。
在执行操作之前开始记录跟踪。最后,停止跟踪并将其保存到文件。
- 同步
- 异步
browser = chromium.launch()
context = browser.new_context()
context.tracing.start(screenshots=True, snapshots=True)
page = context.new_page()
page.goto("https://playwright.net.cn")
context.tracing.stop(path = "trace.zip")
browser = await chromium.launch()
context = await browser.new_context()
await context.tracing.start(screenshots=True, snapshots=True)
page = await context.new_page()
await page.goto("https://playwright.net.cn")
await context.tracing.stop(path = "trace.zip")
方法
group
添加于: v1.49在可用时使用 test.step
代替。
在跟踪中创建一个新组,将任何后续 API 调用分配给该组,直到调用 tracing.group_end()。组可以嵌套,并且在 trace viewer 中可见。
用法
- 同步
- 异步
# All actions between group and group_end
# will be shown in the trace viewer as a group.
page.context.tracing.group("Open Playwright.dev > API")
page.goto("https://playwright.net.cn/")
page.get_by_role("link", name="API").click()
page.context.tracing.group_end()
# All actions between group and group_end
# will be shown in the trace viewer as a group.
await page.context.tracing.group("Open Playwright.dev > API")
await page.goto("https://playwright.net.cn/")
await page.get_by_role("link", name="API").click()
await page.context.tracing.group_end()
参数
-
组名称显示在 trace viewer 中。
-
指定组在 trace viewer 中显示的自定义位置。默认为 tracing.group() 调用的位置。
返回值
group_end
添加于: v1.49关闭由 tracing.group() 创建的最后一个组。
用法
tracing.group_end()
返回值
start
添加于: v1.12开始 tracing。
用法
- 同步
- 异步
context.tracing.start(screenshots=True, snapshots=True)
page = context.new_page()
page.goto("https://playwright.net.cn")
context.tracing.stop(path = "trace.zip")
await context.tracing.start(screenshots=True, snapshots=True)
page = await context.new_page()
await page.goto("https://playwright.net.cn")
await context.tracing.stop(path = "trace.zip")
参数
-
如果指定,中间跟踪文件将保存到 traces_dir 目录中,文件名前缀为给定的名称,该目录在 browser_type.launch() 中指定。 要指定最终跟踪 zip 文件名,您需要将
path
选项传递给 tracing.stop()。 -
是否在 tracing 期间捕获屏幕截图。屏幕截图用于构建时间线预览。
-
如果此选项为 true,tracing 将
- 在每个操作上捕获 DOM 快照
- 记录网络活动
-
是否包含跟踪操作的源文件。
-
要在 Trace Viewer 中显示的跟踪名称。
返回值
start_chunk
添加于: v1.15启动新的跟踪块。如果您想在同一个 BrowserContext 上记录多个跟踪,请使用 tracing.start() 一次,然后使用 tracing.start_chunk() 和 tracing.stop_chunk() 创建多个跟踪块。
用法
- 同步
- 异步
context.tracing.start(screenshots=True, snapshots=True)
page = context.new_page()
page.goto("https://playwright.net.cn")
context.tracing.start_chunk()
page.get_by_text("Get Started").click()
# Everything between start_chunk and stop_chunk will be recorded in the trace.
context.tracing.stop_chunk(path = "trace1.zip")
context.tracing.start_chunk()
page.goto("http://example.com")
# Save a second trace file with different actions.
context.tracing.stop_chunk(path = "trace2.zip")
await context.tracing.start(screenshots=True, snapshots=True)
page = await context.new_page()
await page.goto("https://playwright.net.cn")
await context.tracing.start_chunk()
await page.get_by_text("Get Started").click()
# Everything between start_chunk and stop_chunk will be recorded in the trace.
await context.tracing.stop_chunk(path = "trace1.zip")
await context.tracing.start_chunk()
await page.goto("http://example.com")
# Save a second trace file with different actions.
await context.tracing.stop_chunk(path = "trace2.zip")
参数
-
如果指定,中间跟踪文件将保存到 traces_dir 目录中,文件名前缀为给定的名称,该目录在 browser_type.launch() 中指定。 要指定最终跟踪 zip 文件名,您需要将
path
选项传递给 tracing.stop_chunk()。 -
要在 Trace Viewer 中显示的跟踪名称。
返回值
stop
添加于: v1.12停止 tracing。
用法
tracing.stop()
tracing.stop(**kwargs)
参数
-
path
Union[str, pathlib.Path] (可选)#将跟踪导出到具有给定路径的文件中。
返回值
stop_chunk
添加于: v1.15停止跟踪块。有关多个跟踪块的更多详细信息,请参阅 tracing.start_chunk()。
用法
tracing.stop_chunk()
tracing.stop_chunk(**kwargs)
参数
-
path
Union[str, pathlib.Path] (可选)#将自上次 tracing.start_chunk() 调用以来收集的跟踪导出到具有给定路径的文件中。
返回值