Назад к блогу
Начало работы

Trace Viewer Playwright для отладки разрешённых тестов

Сохраняйте трассировки Playwright для повторяемой диагностики тестов и держите их содержимое, хранение и передачу в утверждённых границах.

Документация

Нужна структурированная документация по теме Начало работы?

Эта статья относится к редакционной библиотеке. Для пошаговой настройки, справки и постоянных обновлений переходите сразу в соответствующий раздел docs.

Путь трассировки Playwright от записи разрешённого теста к локальной проверке и контролируемому хранению

Содержимое трассировки Playwright

Tracing Playwright записывает временную шкалу разрешённого теста для проверки сбоя. Trace Viewer показывает действия, сеть, консоль, снимки и состояния страницы в зависимости от параметров. Трассировка описывает наблюдение браузера и не доказывает принятие запроса сервисом.

Документация Trace Viewer описывает просмотр шагов, а рекомендации Playwright требуют изолированных тестов. Ищите первое действие или утверждение, отклонившееся от контракта.

В трассировке могут быть текст, подписи, URL и заголовки. Записывайте только синтетический или утверждённый сценарий; не добавляйте реальную сессию, платежи или токены.

См. жизненный цикл BrowserContext и модель хранения. Изоляция не очищает уже созданную трассировку.

Ограниченная запись

Запускайте tracing в минимальном fixture и останавливайте в finally. Обычно сохраняют первую повторную попытку и сверяются с актуальным API.

await context.tracing.start({ screenshots: true, snapshots: true, sources: false });
try {
  await runAuthorizedScenario(page);
} finally {
  await context.tracing.stop({ path: tracePath });
}

Используйте путь worker и отмечайте отсутствующий или неполный архив как инфраструктурный результат. Трассировка отвечает на ограниченный вопрос.

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

Проверка и хранение

Откройте трассировку локально или в утверждённой системе. Сначала изучите временную шкалу и утверждение, затем сеть или снимок для классификации причины.

Перед передачей удалите токены, cookie, имена, платежи, закрытые URL и данные клиентов. Если очистка невозможна, оставьте архив закрытым и передайте вывод.

Срок хранения должен соответствовать задаче. После воспроизведения примените истечение и контроль доступа. context.close() не удаляет копию в CI.

Порядок работы и границы

Определите видимый контракт и запишите сценарий, версии, результат и очистку. За пределами браузера запросите поддерживаемую диагностику владельца сервиса.

Используйте artifacts/traces/<test>-<worker>-<attempt>.zip и минимальные метаданные. Явно отмечайте пропущенный, повреждённый или поздний архив.

BotBrowser может предоставить изолированный контекст и повторяемый профиль для разрешённого потока Playwright. Он не гарантирует отсутствие чувствительного содержимого, не удаляет токены из снимков и не делает сбой сервиса наблюдаемым; владелец выбирает синтетические входы и соблюдает доступ и хранение. См. документацию об изоляции аккаунтов.

Назовите тест.

Назовите синтетический сценарий.

Запишите версии.

Укажите первое отклонение.

Классифицируйте результат.

Отметьте снимки.

Отметьте сетевые данные.

Выделите закрытый путь worker.

Остановите tracing до перемещения.

Не записывайте секреты в CI.

Создавайте контекст для каждой попытки.

Не используйте неизвестное состояние.

Не объявляйте первый сбой незначимым.

Предпочитайте видимое условие.

Включайте снимки только при необходимости.

Уменьшайте слишком большой архив.

Ограничьте читателей.

Задайте срок истечения.

Проверяйте данные перед передачей.

Разделяйте браузерные и серверные свидетельства.

Владелец подтверждает серверный ответ.

Записывайте ошибки очистки.

Пересматривайте правило после изменения потока.

Повторяйте в чистой папке.

Удаляйте только файлы теста.

Сделайте очистку повторяемой.

Удаляйте закрытые копии по сроку.

Проверяйте чувствительные поля.

В записи укажите тест, синтетический сценарий, версии, первое отклонение и срок хранения.

Определите ожидаемый контракт до запуска.

Читайте трассировку от утверждения к первому неожиданному состоянию.

Выбирайте снимки по вопросу диагностики.

Считайте размер артефакта операционным ограничением.

Каждая повторная попытка получает новый контекст.

Разделяйте пути параллельных workers.

Ограничьте доступ так же строго, как к секрету.

Очищайте архив и экспортированные снимки.

Преобразуйте первое отклонение в узкую регрессию.

Повторяйте в чистой папке с указанной версией браузера.

Заменяйте хрупкие ожидания видимыми условиями.

Передавайте сервису поддерживаемый идентификатор, а не данные браузера.

Делайте очистку наблюдаемой без содержимого архива.

Для навигации сравните временную шкалу с видимым сигналом завершения.

Для утверждения проверьте снимок шага и синтетическое состояние fixture.

Для сети запишите категорию и документированный статус, не копируя заголовки.

Для визуального отличия проверьте язык, viewport и версию до обновления базы.

Запишите следующее действие после проверки.

Передавайте закрытую ссылку, а не полный архив.

Не помещайте идентификаторы аккаунта в метки.

Подтверждайте сервер поддерживаемыми журналами.

После инцидента храните только очищенный вывод.

Контрольный список

  • Назовите разрешённый сценарий и утверждение.
  • Включайте tracing только для нужного fixture.
  • Используйте закрытый уникальный путь.
  • Очищайте данные перед передачей.
  • Запишите результат, версии и срок хранения.

Источники

#Playwright#Trace Viewer#Отладка Тестов#Артефакты Тестов#Конфиденциальность

Переведите BotBrowser из исследований в продакшн

Используйте эти руководства, чтобы понять модель, а затем перейти к кроссплатформенной валидации, изолированным контекстам и масштабируемому браузерному развертыванию.