Перейти к основному содержимому

Tracing

API для сбора и сохранения трассировок Playwright. Трассировки Playwright могут быть открыты в Trace Viewer после выполнения скрипта Playwright.

Начните запись трассировки перед выполнением действий. В конце остановите трассировку и сохраните её в файл.

using var playwright = await Playwright.CreateAsync();
var browser = await playwright.Chromium.LaunchAsync();
await using var context = await browser.NewContextAsync();
await context.Tracing.StartAsync(new()
{
Screenshots = true,
Snapshots = true
});
var page = await context.NewPageAsync();
await page.GotoAsync("https://playwright.dev");
await context.Tracing.StopAsync(new()
{
Path = "trace.zip"
});

Методы

GroupAsync

Добавлено в: v1.49 tracing.GroupAsync
предупреждение

Используйте test.step, если доступно.

Создает новую группу в пределах трассировки, назначая все последующие вызовы API этой группе, до тех пор, пока не будет вызван Tracing.GroupEndAsync(). Группы могут быть вложенными и будут видны в просмотрщике трассировок.

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

// Все действия между GroupAsync и GroupEndAsync
// будут показаны в просмотрщике трассировок как группа.
await Page.Context.Tracing.GroupAsync("Open Playwright.dev > API");
await Page.GotoAsync("https://playwright.dev/");
await Page.GetByRole(AriaRole.Link, new() { Name = "API" }).ClickAsync();
await Page.Context.Tracing.GroupEndAsync();

Аргументы

  • name string#

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

  • options TracingGroupOptions? (опционально)

    • Location Location? (опционально)#
      • File string

      • Line int? (опционально)

      • Column int? (опционально)

      Указывает пользовательское расположение для отображения группы в просмотрщике трассировок. По умолчанию используется расположение вызова Tracing.GroupAsync().

Возвращает


GroupEndAsync

Добавлено в: v1.49 tracing.GroupEndAsync

Закрывает последнюю группу, созданную с помощью Tracing.GroupAsync().

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

await Tracing.GroupEndAsync();

Возвращает


StartAsync

Добавлено в: v1.12 tracing.StartAsync

Начать трассировку.

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

using var playwright = await Playwright.CreateAsync();
var browser = await playwright.Chromium.LaunchAsync();
await using var context = await browser.NewContextAsync();
await context.Tracing.StartAsync(new()
{
Screenshots = true,
Snapshots = true
});
var page = await context.NewPageAsync();
await page.GotoAsync("https://playwright.dev");
await context.Tracing.StopAsync(new()
{
Path = "trace.zip"
});

Аргументы

  • options TracingStartOptions? (опционально)
    • Name string? (опционально)#

      Если указано, промежуточные файлы трассировки будут сохранены в файлы с данным префиксом имени внутри директории TracesDir, указанной в BrowserType.LaunchAsync(). Чтобы указать имя конечного zip-файла трассировки, необходимо передать опцию path в Tracing.StopAsync().

    • Screenshots bool? (опционально)#

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

    • Snapshots bool? (опционально)#

      Если эта опция включена, трассировка будет

      • захватывать снимок DOM при каждом действии
      • записывать сетевую активность
    • Sources bool? (опционально) Добавлено в: v1.17#

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

    • Title string? (опционально) Добавлено в: v1.17#

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

Возвращает


StartChunkAsync

Добавлено в: v1.15 tracing.StartChunkAsync

Начать новый фрагмент трассировки. Если вы хотите записать несколько трассировок в одном BrowserContext, используйте Tracing.StartAsync() один раз, а затем создайте несколько фрагментов трассировки с помощью Tracing.StartChunkAsync() и Tracing.StopChunkAsync().

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

using var playwright = await Playwright.CreateAsync();
var browser = await playwright.Chromium.LaunchAsync();
await using var context = await browser.NewContextAsync();
await context.Tracing.StartAsync(new()
{
Screenshots = true,
Snapshots = true
});
var page = await context.NewPageAsync();
await page.GotoAsync("https://playwright.dev");

await context.Tracing.StartChunkAsync();
await page.GetByText("Get Started").ClickAsync();
// Все между StartChunkAsync и StopChunkAsync будет записано в трассировку.
await context.Tracing.StopChunkAsync(new()
{
Path = "trace1.zip"
});

await context.Tracing.StartChunkAsync();
await page.GotoAsync("http://example.com");
// Сохраните второй файл трассировки с другими действиями.
await context.Tracing.StopChunkAsync(new()
{
Path = "trace2.zip"
});

Аргументы

  • options TracingStartChunkOptions? (опционально)
    • Name string? (опционально) Добавлено в: v1.32#

      Если указано, промежуточные файлы трассировки будут сохранены в файлы с данным префиксом имени внутри директории TracesDir, указанной в BrowserType.LaunchAsync(). Чтобы указать имя конечного zip-файла трассировки, необходимо передать опцию path в Tracing.StopChunkAsync().

    • Title string? (опционально) Добавлено в: v1.17#

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

Возвращает


StopAsync

Добавлено в: v1.12 tracing.StopAsync

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

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

await Tracing.StopAsync(options);

Аргументы

  • options TracingStopOptions? (опционально)
    • Path string? (опционально)#

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

Возвращает


StopChunkAsync

Добавлено в: v1.15 tracing.StopChunkAsync

Остановить фрагмент трассировки. См. Tracing.StartChunkAsync() для получения более подробной информации о нескольких фрагментах трассировки.

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

await Tracing.StopChunkAsync(options);

Аргументы

  • options TracingStopChunkOptions? (опционально)
    • Path string? (опционально)#

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

Возвращает