Запись видео выполнения тестов

Запись видео выполнения тестов в Playwright

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

Для того чтобы начать записывать видео, необходимо настроить браузерное окружение Playwright с использованием опции video в настройках контекста браузера. Важно помнить, что видео записывается для каждого отдельного теста или набора тестов. Это позволяет получить точное видео каждого шага теста, что полезно для диагностики сложных случаев.

Для включения записи видео необходимо указать следующие параметры при создании контекста:

const { test, expect } = require('@playwright/test');

test('Запись видео выполнения теста', async ({ page }) => {
  const context = await browser.newContext({
    recordVideo: {
      dir: 'videos/', // Папка для сохранения видео
      size: { width: 1280, height: 720 } // Размер видео
    }
  });

  const page = await context.newPage();
  
  // Ожидаем, что страница загрузится и выполняем действия
  await page.goto('https://example.com');
  await page.click('text=Sign in');
  await page.fill('input[name="username"]', 'user');
  await page.fill('input[name="password"]', 'password');
  await page.click('button[type="submit"]');
  
  // Завершаем тест
  await context.close();
});

В данном примере для теста создается новый контекст с настройками для записи видео. Видео будет сохранено в папке videos/ с разрешением 1280x720 пикселей.

Настройка качества и формата видео

При записи видео можно указать дополнительные параметры, которые контролируют размер и качество видеопотока. В Playwright есть возможность задать размер видео, например, для записи с высоким качеством или для записи с меньшими размерами, чтобы не перегружать систему.

Параметры настройки размера видео:

recordVideo: {
  dir: 'videos/',           // Папка для сохранения файлов
  size: { width: 1920, height: 1080 }  // Настройка разрешения видео
}

Размер видео можно указать в пикселях, что позволяет настроить оптимальный формат в зависимости от потребностей. Важно помнить, что чем выше разрешение, тем больше объём файлов, и это может повлиять на производительность теста и скорость записи.

Доступ к записанным видео

После выполнения тестов видео будут сохранены в указанной директории, например, в папке videos/. Имена файлов видео автоматически генерируются Playwright и соответствуют уникальному идентификатору каждого теста.

Пример доступа к видео:

const videoPath = 'videos/test-video.mp4';

Чтобы просмотреть или обработать видео, достаточно перейти к указанному пути и открыть файл с помощью любого видеоплеера.

Публикация и анализ видео

Запись видео тестов полезна не только для локального анализа, но и для использования в отчетах и системах CI/CD. Интеграция записи видео в CI-пайплайн помогает разработчикам быстрее находить причины сбоев тестов и быстрее восстанавливать работоспособность системы.

В системах CI видео тестов можно автоматизировать с использованием Playwright’s API. Например, видео можно выгружать в облачные хранилища или отправлять через уведомления, чтобы команда могла сразу же просмотреть результаты.

Пример загрузки видео в облачное хранилище:

const fs = require('fs');
const videoPath = 'videos/test-video.mp4';

// Загрузка файла в облачное хранилище
uploadToCloudStorage(videoPath).then(() => {
  console.log('Видео успешно загружено в облако');
});

Для реализации такой загрузки потребуется дополнительная настройка инфраструктуры облачного хранилища и API.

Управление размером видео

В случае больших проектов и длительных тестов видео может занимать значительное количество места на диске. Для управления размером видео существует несколько подходов:

  1. Ограничение продолжительности записи: Можно настроить запись только на определенное время или после выполнения определенных шагов, что позволяет исключить ненужные моменты.
  2. Комплектация видео: Иногда можно объединить несколько коротких видеороликов в один, чтобы упростить их анализ.

Использование записи видео в сложных сценариях

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

Запись видео также полезна в тестах с взаимодействием с веб-компонентами, когда важно увидеть, как именно происходят взаимодействия с элементами на странице, а не только проверить их состояние. Видео может помочь воспроизвести точно тот момент, когда тест завершился с ошибкой, что особенно важно для отладки.

Заключение

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