Возможность записывать видео выполнения тестов является одной из ключевых функций Cypress, позволяющей анализировать результаты тестов в динамике и упрощать поиск ошибок в автоматизированном тестировании. Видео-функциональность особенно полезна при интеграции Cypress в CI/CD-процессы, где визуальный контроль поведения приложения важен для подтверждения стабильности релизов.
Для включения видеозаписи используется конфигурационный файл
cypress.config.js. Основная опция, отвечающая за запись, —
video. Она может принимать значение true или
false.
const { defineConfig } = require('cypress')
module.exports = defineConfig({
video: true,
videoCompression: 32, // уровень сжатия видео, меньшее значение — выше качество
videosFolder: 'cypress/videos', // путь для хранения видеофайлов
})
videoCompression регулирует степень сжатия, что влияет
на размер видео и качество. Рекомендуется использовать значения от 0 до
50, где 0 — минимальное сжатие, 50 — сильное сжатие.videosFolder позволяет задать кастомное расположение
для сохранения файлов.Важно учитывать, что видеозапись по умолчанию создается
только для тестов, выполняющихся через
cypress run, а не через
cypress open.
Для точного контроля можно отключать видеозапись для отдельных тестов
с помощью тега video: false в настройках it
или describe.
describe('Тест без видео', { video: false }, () => {
it('Проверка кнопки', () => {
cy.visit('/example')
cy.get('button').click()
cy.contains('Успешно')
})
})
Также можно включить видеозапись выборочно для определенных тестов
или папок, изменяя конфигурацию динамически через
Cypress.config().
Cypress.config('video', true)
В системах CI/CD видеозапись позволяет сохранять результаты автоматизированных прогонов, что упрощает анализ ошибок. Рекомендуется настроить сохранение видео только для неуспешных тестов, чтобы уменьшить объём хранилища:
module.exports = defineConfig({
video: true,
videoUploadOnPasses: false, // сохранять видео только при падении теста
})
При интеграции с GitLab CI, Jenkins или GitHub Actions можно настроить артефакты для хранения видеофайлов, что позволяет открывать их для просмотра при завершении пайплайна.
Cypress сохраняет видео в формате MP4, который
поддерживается большинством медиаплееров. Название видео соответствует
структуре папок с тестами и имени файла .spec.js.
Для удобного просмотра можно использовать встроенный видеоплеер в панели Cypress Dashboard, если проект подключен к облачному сервису. Видео демонстрирует последовательность действий теста, включая анимацию и задержки, что помогает точно выявлять момент падения.
videoCompression) для экономии
места, особенно при больших тестовых наборах.Можно комбинировать видеозапись с скриншотами ошибок, чтобы создавать полноценные отчёты о падениях:
module.exports = defineConfig({
video: true,
screenshotsFolder: 'cypress/screenshots',
videoUploadOnPasses: false,
trashAssetsBeforeRuns: true, // удалять старые видео и скриншоты перед новым прогоном
})
Такой подход позволяет иметь полный визуальный журнал тестирования: видео показывает весь процесс, скриншоты фиксируют ключевые моменты с ошибками.
Cypress поддерживает видеозапись в Chrome, Edge и Electron. В Firefox видеозапись доступна с ограничениями, и качество может быть ниже, чем в Chromium-браузерах. При выборе браузера для CI/CD рекомендуется использовать Electron или Chrome для стабильного качества видео.
Видео Cypress — это инструмент не только для отладки, но и для повышения прозрачности автоматизированного тестирования, особенно в крупных проектах с многокомпонентными интерфейсами. Правильная настройка и интеграция видеозаписи позволяют сократить время на диагностику проблем и ускорить выпуск стабильного ПО.