Spec-Zone.ru › Playwright

Трассировка

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 () => {
  // ...
});

Аргументы

  • name string

    Имя группы, отображаемое в просмотрщике трассировок.

  • options Object (необязательно)

    • location Object (необязательно)

      • file string

      • line number (необязательно)

      • column number (необязательно)

      Задаёт пользовательское расположение группы, отображаемое в просмотрщике трассировок. По умолчанию используется расположение вызова tracing.group().

Возвращает

  • Promise<Disposable>

groupEnd​

Закрывает последнюю группу, созданную вызовом tracing.group().

Использование

await tracing.groupEnd();

Возвращает

  • Promise<void>

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' });

Аргументы

  • options Object (необязательно)
    • live boolean (необязательно)

      Если параметр включён, трассировка записывается в неархивированный файл, который обновляется в реальном времени по мере выполнения действий, вместо кэширования изменений и их архивации в ZIP-файл в конце. Это полезно для просмотра трассировки в реальном времени во время выполнения теста.

    • name string (необязательно)

      Если задано, промежуточные файлы трассировки будут сохраняться в файлы с указанным префиксом имени в каталоге tracesDir, заданном в browserType.launch(). Чтобы задать имя итогового ZIP-файла трассировки, передайте параметр path вместо этого в tracing.stop().

    • screenshots boolean (необязательно)

      Нужно ли делать снимки экрана во время трассировки. Снимки экрана используются для создания предварительного просмотра временной шкалы.

    • snapshots boolean | Object (необязательно)

      • dom boolean (необязательно)

        Создавать снимок DOM при каждом действии и записывать сетевую активность. Необязательный параметр.

      • aria boolean (необязательно)

        Создавать снимок aria страницы при каждом действии. Необязательный параметр.

      • screen boolean (необязательно)

        Создавать снимок экрана страницы при каждом действии. Необязательный параметр.

      Какие снимки создавать при каждом действии. Передача true — это сокращённая запись для { dom: true }.

    • sources boolean (необязательно)

      Включать ли исходные файлы для действий трассировки.

    • title string (необязательно)

      Имя трассировки, отображаемое в просмотрщике трассировок.

Возвращает

  • Promise<void>

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' });

Аргументы

  • options Object (необязательно)
    • name string (необязательно)

      Если задано, промежуточные файлы трассировки будут сохраняться в файлы с указанным префиксом имени в каталоге tracesDir, заданном в browserType.launch(). Чтобы задать имя итогового ZIP-файла трассировки, передайте параметр path вместо этого в tracing.stopChunk().

    • title string (необязательно)

      Имя трассировки, отображаемое в просмотрщике трассировок.

Возвращает

  • Promise<void>

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();

Аргументы

  • path string

    Путь в файловой системе, по которому следует записать файл HAR. Если имя файла заканчивается на .zip, HAR сохраняется как ZIP-архив, а тела ответов добавляются в виде отдельных файлов.

  • options Object (необязательно)

    • content "omit" | "embed" | "attach" (необязательно)

      Необязательная настройка управления содержимым ресурсов. Если указано omit, содержимое не сохраняется. Если указано attach, ресурсы сохраняются как отдельные файлы или элементы ZIP-архива. Если указано embed, содержимое встраивается непосредственно в файл HAR согласно спецификации HAR. По умолчанию используется attach для выходных файлов .zip и embed для файлов с другими расширениями.

    • mode "full" | "minimal" (необязательно)

      Если задано значение minimal, записываются только сведения из HAR, необходимые для маршрутизации. При этом не сохраняются размеры, данные о времени, странице, файлах cookie, безопасности и другие сведения HAR, не используемые при воспроизведении из HAR. По умолчанию используется full.

    • resourcesDir string (необязательно)

      Используется только вместе с content: 'attach'. Если задано, тела ответов помещаются в этот каталог, а не рядом с файлом HAR. Несовместимо с файлом HAR .zip.

    • urlFilter string | RegExp (необязательно)

      Шаблон glob или регулярное выражение для фильтрации запросов, сохраняемых в HAR. По умолчанию фильтр отсутствует.

Возвращает

  • Promise<Disposable>

stop​

Останавливает трассировку.

Использование

await tracing.stop();
await tracing.stop(options);

Аргументы

  • options Object (необязательно)
    • path string (необязательно)

      Экспортирует трассировку в файл по указанному пути.

Возвращает

  • Promise<void>

stopChunk​

Останавливает фрагмент трассировки. Подробнее о нескольких фрагментах трассировки см. в разделе tracing.startChunk().

Использование

await tracing.stopChunk();
await tracing.stopChunk(options);

Аргументы

  • options Object (необязательно)
    • path string (необязательно)

      Экспортирует трассировку, собранную после последнего вызова tracing.startChunk(), в файл по указанному пути.

Возвращает

  • Promise<void>

stopHar​

Останавливает запись HAR и сохраняет файл HAR по пути, указанному в tracing.startHar().

Использование

await tracing.stopHar();

Возвращает

  • Promise<void>

© 2026 Microsoft
Licensed under the Apache License, Version 2.0.
https://playwright.dev/docs/api/class-tracing

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API