Трассировка
API для сбора и сохранения трассировок Playwright. Трассировки Playwright можно открыть в просмотрщике трассировок после выполнения скрипта Playwright.
примечаниеВозможно, вместо использования
context.tracingвам стоит включить трассировку в файле конфигурации.API
context.tracingзаписывает операции браузера и сетевую активность, но не записывает проверки тестов (например, вызовыexpect). Рекомендуем включить трассировку в конфигурации Playwright Test: она включает эти проверки и предоставляет более полную трассировку для отладки ошибок тестов.
Начните запись трассировки перед выполнением действий. По завершении остановите трассировку и сохраните её в файл.
const browser = await chromium.launch();
const context = await browser.newContext();
await context.tracing.start({ screenshots: true, snapshots: true });
const page = await context.newPage();
await page.goto('https://playwright.dev');
expect(page.url()).toBe('https://playwright.dev');
await context.tracing.stop({ path: 'trace.zip' }); Методы
group
предупреждениеЕсли доступен, используйте
test.step.
Создаёт новую группу в трассировке, назначая этой группе все последующие вызовы API до вызова tracing.groupEnd(). Группы могут быть вложенными и отображаются в просмотрщике трассировок.
Использование
// use test.step instead
await test.step('Log in', async () => {
// ...
}); Аргументы
-
namestringИмя группы, отображаемое в просмотрщике трассировок.
-
optionsObject (необязательно)-
locationObject (необязательно)Задаёт пользовательское расположение группы, отображаемое в просмотрщике трассировок. По умолчанию используется расположение вызова tracing.group().
-
Возвращает
groupEnd
Закрывает последнюю группу, созданную вызовом tracing.group().
Использование
await tracing.groupEnd();
Возвращает
start
Запускает трассировку.
примечаниеВозможно, вместо использования
Tracing.startвам стоит включить трассировку в файле конфигурации.API
context.tracingзаписывает операции браузера и сетевую активность, но не записывает проверки тестов (например, вызовыexpect). Рекомендуем включить трассировку в конфигурации Playwright Test: она включает эти проверки и предоставляет более полную трассировку для отладки ошибок тестов.
Использование
await context.tracing.start({ screenshots: true, snapshots: true });
const page = await context.newPage();
await page.goto('https://playwright.dev');
expect(page.url()).toBe('https://playwright.dev');
await context.tracing.stop({ path: 'trace.zip' }); Аргументы
-
optionsObject (необязательно)-
liveboolean (необязательно)Если параметр включён, трассировка записывается в неархивированный файл, который обновляется в реальном времени по мере выполнения действий, вместо кэширования изменений и их архивации в ZIP-файл в конце. Это полезно для просмотра трассировки в реальном времени во время выполнения теста.
-
namestring (необязательно)Если задано, промежуточные файлы трассировки будут сохраняться в файлы с указанным префиксом имени в каталоге tracesDir, заданном в browserType.launch(). Чтобы задать имя итогового ZIP-файла трассировки, передайте параметр
pathвместо этого в tracing.stop(). -
screenshotsboolean (необязательно)Нужно ли делать снимки экрана во время трассировки. Снимки экрана используются для создания предварительного просмотра временной шкалы.
-
snapshotsboolean | Object (необязательно)-
domboolean (необязательно)Создавать снимок DOM при каждом действии и записывать сетевую активность. Необязательный параметр.
-
ariaboolean (необязательно)Создавать снимок aria страницы при каждом действии. Необязательный параметр.
-
screenboolean (необязательно)Создавать снимок экрана страницы при каждом действии. Необязательный параметр.
Какие снимки создавать при каждом действии. Передача
true— это сокращённая запись для{ dom: true }. -
-
sourcesboolean (необязательно)Включать ли исходные файлы для действий трассировки.
-
titlestring (необязательно)Имя трассировки, отображаемое в просмотрщике трассировок.
-
Возвращает
startChunk
Начинает новый фрагмент трассировки. Чтобы записать несколько трассировок для одного и того же объекта BrowserContext, вызовите tracing.start() один раз, а затем создайте несколько фрагментов трассировки с помощью tracing.startChunk() и tracing.stopChunk().
Использование
await context.tracing.start({ screenshots: true, snapshots: true });
const page = await context.newPage();
await page.goto('https://playwright.dev');
await context.tracing.startChunk();
await page.getByText('Get Started').click();
// Everything between startChunk and stopChunk will be recorded in the trace.
await context.tracing.stopChunk({ path: 'trace1.zip' });
await context.tracing.startChunk();
await page.goto('http://example.com');
// Save a second trace file with different actions.
await context.tracing.stopChunk({ path: 'trace2.zip' }); Аргументы
-
optionsObject (необязательно)-
namestring (необязательно)Если задано, промежуточные файлы трассировки будут сохраняться в файлы с указанным префиксом имени в каталоге tracesDir, заданном в browserType.launch(). Чтобы задать имя итогового ZIP-файла трассировки, передайте параметр
pathвместо этого в tracing.stopChunk(). -
titlestring (необязательно)Имя трассировки, отображаемое в просмотрщике трассировок.
-
Возвращает
startHar
Начинает запись HAR (HTTP Archive) сетевой активности в этом контексте. Файл HAR записывается на диск при вызове tracing.stopHar() или при удалении возвращённого объекта Disposable.
Для каждого экземпляра Tracing одновременно может выполняться только одна запись HAR.
Использование
await context.tracing.startHar('trace.har');
const page = await context.newPage();
await page.goto('https://playwright.dev');
await context.tracing.stopHar(); Аргументы
-
pathstringПуть в файловой системе, по которому следует записать файл HAR. Если имя файла заканчивается на
.zip, HAR сохраняется как ZIP-архив, а тела ответов добавляются в виде отдельных файлов. -
optionsObject (необязательно)-
content"omit" | "embed" | "attach" (необязательно)Необязательная настройка управления содержимым ресурсов. Если указано
omit, содержимое не сохраняется. Если указаноattach, ресурсы сохраняются как отдельные файлы или элементы ZIP-архива. Если указаноembed, содержимое встраивается непосредственно в файл HAR согласно спецификации HAR. По умолчанию используетсяattachдля выходных файлов.zipиembedдля файлов с другими расширениями. -
mode"full" | "minimal" (необязательно)Если задано значение
minimal, записываются только сведения из HAR, необходимые для маршрутизации. При этом не сохраняются размеры, данные о времени, странице, файлах cookie, безопасности и другие сведения HAR, не используемые при воспроизведении из HAR. По умолчанию используетсяfull. -
resourcesDirstring (необязательно)Используется только вместе с
content: 'attach'. Если задано, тела ответов помещаются в этот каталог, а не рядом с файлом HAR. Несовместимо с файлом HAR.zip. -
urlFilterstring | RegExp (необязательно)Шаблон glob или регулярное выражение для фильтрации запросов, сохраняемых в HAR. По умолчанию фильтр отсутствует.
-
Возвращает
stop
Останавливает трассировку.
Использование
await tracing.stop(); await tracing.stop(options);
Аргументы
-
optionsObject (необязательно)-
pathstring (необязательно)Экспортирует трассировку в файл по указанному пути.
-
Возвращает
stopChunk
Останавливает фрагмент трассировки. Подробнее о нескольких фрагментах трассировки см. в разделе tracing.startChunk().
Использование
await tracing.stopChunk(); await tracing.stopChunk(options);
Аргументы
-
optionsObject (необязательно)-
pathstring (необязательно)Экспортирует трассировку, собранную после последнего вызова tracing.startChunk(), в файл по указанному пути.
-
Возвращает
stopHar
Останавливает запись HAR и сохраняет файл HAR по пути, указанному в tracing.startHar().
Использование
await tracing.stopHar();
Возвращает
© 2026 Microsoft
Licensed under the Apache License, Version 2.0.
https://playwright.dev/docs/api/class-tracing