Tracing
用於收集和儲存 Playwright 追蹤的 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.org.tw")
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.org.tw")
await context.tracing.stop(path = "trace.zip")
方法
group
新增於:v1.49在可用的情況下,請改用 test.step
。
在追蹤中建立一個新的群組,將任何後續的 API 呼叫分配給這個群組,直到呼叫 tracing.group_end() 為止。群組可以巢狀結構,並在追蹤檢視器中可見。
用法
- 同步
- 非同步
# 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.org.tw/")
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.org.tw/")
await page.get_by_role("link", name="API").click()
await page.context.tracing.group_end()
參數
-
顯示在追蹤檢視器中的群組名稱。
-
指定要在追蹤檢視器中顯示群組的自訂位置。預設為 tracing.group() 呼叫的位置。
回傳
group_end
新增於:v1.49關閉由 tracing.group() 建立的最後一個群組。
用法
tracing.group_end()
回傳
start
新增於:v1.12開始追蹤。
用法
- 同步
- 非同步
context.tracing.start(screenshots=True, snapshots=True)
page = context.new_page()
page.goto("https://playwright.dev.org.tw")
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.org.tw")
await context.tracing.stop(path = "trace.zip")
參數
-
如果指定,中繼追蹤檔案將會儲存到在 traces_dir 目錄內,具有給定名稱前缀的檔案中,該目錄在 browser_type.launch() 中指定。若要指定最終追蹤 zip 檔案名稱,您需要將
path
選項傳遞給 tracing.stop()。 -
是否在追蹤期間擷取螢幕截圖。螢幕截圖用於建立時間軸預覽。
-
如果此選項為 true,追蹤將會
- 在每個動作上擷取 DOM 快照
- 記錄網路活動
-
sources
bool (optional)新增於:v1.17#是否包含追蹤動作的原始碼檔案。
-
title
str (optional)新增於:v1.17#要在追蹤檢視器中顯示的追蹤名稱。
回傳
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.dev.org.tw")
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.org.tw")
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()。 -
title
str (optional)新增於:v1.17#要在追蹤檢視器中顯示的追蹤名稱。
回傳
stop
新增於:v1.12停止追蹤。
用法
tracing.stop()
tracing.stop(**kwargs)
參數
-
path
Union[str, pathlib.Path] (optional)#將追蹤匯出到具有給定路徑的檔案中。
回傳
stop_chunk
新增於:v1.15停止追蹤區塊。請參閱 tracing.start_chunk() 以取得有關多個追蹤區塊的更多詳細資訊。
用法
tracing.stop_chunk()
tracing.stop_chunk(**kwargs)
參數
-
path
Union[str, pathlib.Path] (optional)#將自上次 tracing.start_chunk() 呼叫以來收集的追蹤匯出到具有給定路徑的檔案中。
回傳