Tracing
API для сбора и сохранения трассировок Playwright. Трассировки Playwright могут быть открыты в Trace Viewer после выполнения скрипта Playwright.
Начните запись трассировки перед выполнением действий. В конце остановите трассировку и сохраните её в файл.
- 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")
Методы
group
Добавлено в: v1.49Используйте test.step
, если доступно.
Создает новую группу в пределах трассировки, назначая все последующие вызовы API этой группе, до тех пор, пока не будет вызван tracing.group_end(). Группы могут быть вложенными и будут видны в просмотрщике трассировок.
Использование
- Sync
- Async
# Все действия между group и group_end
# будут показаны в просмотрщике трассировок как группа.
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()
# Все действия между group и group_end
# будут показаны в просмотрщике трассировок как группа.
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
Добавлено в: v1.49Закрывает последнюю группу, созданную tracing.group().
Использование
tracing.group_end()
Возвращает
start
Добавлено в: v1.12Начать трассировку.
Использование
- Sync
- Async
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")
Аргументы
-
Если указано, промежуточные файлы трассировки будут сохранены в файлы с данным префиксом имени внутри директории traces_dir, указанной в browser_type.launch(). Чтобы указать имя конечного zip-файла трассировки, необходимо передать опцию
path
в tracing.stop(). -
screenshots
bool (опционально)#Нужно ли захватывать скриншоты во время трассировки. Скриншоты используются для создания предварительного просмотра временной шкалы.
-
Если эта опция включена, трассировка будет
- захватывать снимок DOM при каждом действии
- записывать сетевую активность
-
sources
bool (опционально) Добавлено в: v1.17#Включать ли исходные файлы для действий трассировки.
-
title
str (опционально) Добавлено в: v1.17#Имя трассировки, отображаемое в Trace Viewer.
Возвращает
start_chunk
Добавлено в: v1.15Начать новый фрагмент трассировки. Если вы хотите записать несколько трассировок в одном BrowserContext, используйте tracing.start() один раз, а затем создайте несколько фрагментов трассировки с помощью tracing.start_chunk() и tracing.stop_chunk().
Использование
- Sync
- Async
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")
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()
# Все между start_chunk и stop_chunk будет записано в трассировку.
await context.tracing.stop_chunk(path = "trace1.zip")
await context.tracing.start_chunk()
await page.goto("http://example.com")
# Сохраните второй файл трассировки с другими действиями.
await context.tracing.stop_chunk(path = "trace2.zip")
Аргументы
-
name
str (опционально) Добавлено в: v1.32#Если указано, промежуточные файлы трассировки будут сохранены в файлы с данным префиксом имени внутри директории traces_dir, указанной в browser_type.launch(). Чтобы указать имя конечного zip-файла трассировки, необходимо передать опцию
path
в tracing.stop_chunk(). -
title
str (опционально) Добавлено в: v1.17#Имя трассировки, отображаемое в Trace Viewer.
Возвращает
stop
Добавлено в: v1.12Остановить трассировку.
Использование
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(), в файл с указанным путем.
Возвращает