Tracing
用于收集和保存 Playwright 跟踪的 API。Playwright 跟踪可以在 Playwright 脚本运行后在 Trace Viewer 中打开。
在执行操作之前开始记录跟踪。最后,停止跟踪并将其保存到文件中。
- Sync
- Async
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")
- tracing.start(**kwargs)
- tracing.start_chunk(**kwargs)
- tracing.stop(**kwargs)
- tracing.stop_chunk(**kwargs)
tracing.start(**kwargs)
Added in: v1.12name<str> 如果指定,跟踪将保存到 browser_type.launch(**kwargs) 中指定的traces_dir文件夹内具有给定名称的文件中。#screenshots<bool> 是否在跟踪期间捕获屏幕截图。屏幕截图用于构建时间轴预览。#snapshots<bool> 如果此选项为 true,跟踪将#- 在每次操作时捕获 DOM 快照
- 记录网络活动
sources<bool> 是否在跟踪操作中包含源文件。Added in: v1.17#title<str> 要在 Trace Viewer 中显示的跟踪名称。Added in: v1.17#- 返回值: <NoneType>#
开始跟踪。
- Sync
- Async
context.tracing.start(name="trace", screenshots=True, snapshots=True)
page = context.new_page()
page.goto("https://playwright.dev")
context.tracing.stop(path = "trace.zip")
await context.tracing.start(name="trace", screenshots=True, snapshots=True)
page = await context.new_page()
await page.goto("https://playwright.dev")
await context.tracing.stop(path = "trace.zip")
tracing.start_chunk(**kwargs)
Added in: v1.15开始一个新的跟踪块。如果您想在同一个 BrowserContext 上记录多个跟踪,请使用 tracing.start(**kwargs) 一次,然后使用 tracing.start_chunk(**kwargs) 和 tracing.stop_chunk(**kwargs) 创建多个跟踪块。
- Sync
- Async
context.tracing.start(name="trace", 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(name="trace", 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")
tracing.stop(**kwargs)
Added in: v1.12停止跟踪。
tracing.stop_chunk(**kwargs)
Added in: v1.15path<Union[str, pathlib.Path]> 将自上次调用 tracing.start_chunk(**kwargs) 以来收集的跟踪导出到具有给定路径的文件中。#- 返回值: <NoneType>#
停止跟踪块。有关多个跟踪块的更多详细信息,请参阅 tracing.start_chunk(**kwargs)。