追踪
用于收集和保存Playwright跟踪记录的API。Playwright跟踪记录可以在脚本运行后通过Trace Viewer查看。
在执行操作前开始记录追踪。最后停止追踪并将其保存到文件中。
- Sync
- 异步
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")
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.dev")
await context.tracing.stop(path = "trace.zip")
方法
分组
Added in: v1.49在可用时请改用 test.step
。
在跟踪记录中创建一个新的组,将后续的所有API调用分配到此组,直到调用tracing.group_end()。组可以嵌套,并会在跟踪查看器中显示。
用法
- Sync
- 异步
# 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.dev/")
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.dev/")
await page.get_by_role("link", name="API").click()
await page.context.tracing.group_end()
参数
-
在追踪查看器中显示的组名。
-
指定该组在跟踪查看器中显示的自定义位置。默认为tracing.group()调用的位置。
返回
group_end
Added in: v1.49关闭由tracing.group()创建的最后一个组。
用法
tracing.group_end()
返回
开始
Added in: v1.12开始追踪。
用法
- Sync
- 异步
context.tracing.start(screenshots=True, snapshots=True)
page = context.new_page()
page.goto("https://playwright.dev")
context.tracing.stop(path = "trace.zip")
await context.tracing.start(screenshots=True, snapshots=True)
page = await context.new_page()
await page.goto("https://playwright.dev")
await context.tracing.stop(path = "trace.zip")
参数
-
如果指定该参数,中间跟踪文件将被保存到browser_type.launch()中指定的traces_dir目录下,并以给定名称作为前缀。要指定最终的跟踪zip文件名,您需要改为向tracing.stop()传递
path
参数。 -
是否在跟踪期间捕获屏幕截图。屏幕截图用于构建时间线预览。
-
如果此选项为true,追踪将
- 在每次操作时捕获DOM快照
- 记录网络活动
-
是否包含跟踪操作的源文件。
-
在Trace Viewer中显示的追踪名称。
返回
start_chunk
Added in: v1.15开始一个新的跟踪块。如果您想在同一个BrowserContext上记录多个跟踪,请先使用tracing.start()一次,然后通过tracing.start_chunk()和tracing.stop_chunk()创建多个跟踪块。
用法
- Sync
- 异步
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()
# 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.dev")
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")
参数
-
如果指定该参数,中间跟踪文件将被保存到browser_type.launch()中指定的traces_dir目录下,并以给定名称作为前缀。要指定最终的跟踪zip文件名,您需要改为向tracing.stop_chunk()传递
path
选项。 -
在Trace Viewer中显示的追踪名称。
返回
停止
Added in: v1.12停止追踪。
用法
tracing.stop()
tracing.stop(**kwargs)
参数
-
path
Union[str, pathlib.Path] (optional)#将跟踪记录导出到指定路径的文件中。
返回
stop_chunk
Added in: v1.15停止跟踪块。有关多个跟踪块的更多详情,请参阅tracing.start_chunk()。
用法
tracing.stop_chunk()
tracing.stop_chunk(**kwargs)
参数
-
path
Union[str, pathlib.Path] (可选参数)#将自上次tracing.start_chunk()调用以来收集的跟踪数据导出到指定路径的文件中。
返回