wdio-video-reporter — это сторонний пакет, для получения дополнительной информации см. GitHub | npm
Это репортер для Webdriver IO v6 и выше, который генерирует видео выполнения ваших тестов wdio. Если вы используете Allure, тестовые случаи автоматически украшаются видео. (Для Webdriver IO v5 используйте wdio-video-reporter версии ^2.0.0.)
Видео сохраняются в wdio.config.outputDir
Ознакомьтесь с примером отчета Allure с включенными видео неудачных тестов здесь: https://presidenten.github.io/wdio-video-reporter-example-report/
Преимущества:
- Хорошие видео в ваших отчетах Allure
- Удобные видео с человеческой скоростью, даже если тесты быстрые
- Работает с Selenium grid
- Работает со всеми webdriver'ами, которые поддерживают
saveScreenshot
- Проверено на следующих настольных браузерах с использованием Selenium 3.141.59:
- Chrome
- Firefox
- Safari
- Internet Explorer 11
- Microsoft Edge
- Проверено на следующих устройствах iOS и Android с Appium 1.13.0-beta3:
- Iphone 8
- Ipad Gen 6
- Samsung galaxy S9
- Samsung galaxy tab A10
Недостатки:
- Работает, делая снимки экрана после "действий", что делает тесты немного медленнее. Это смягчается тщательным выбором сообщений jsonWireProtocol, которые должны приводить к снимкам экрана
- Драйверы Selenium не включают диалоговые окна и всплывающие окна в снимках экрана, поэтому они не видны на видео
Быстрый старт
Ознакомьтесь с простым шаблоном в wdio-template, чтобы быстро начать работу.
Клонируйте один из репозиториев и установите зависимости с помощью yarn
или npm install
. Затем запустите yarn e2e
или npm run e2e
в директории demo и, наконец, yarn report
или npm run report
, чтобы увидеть отчет Allure.
Установка
Установите репортер
yarn add wdio-video-reporter
или
npm install wdio-video-reporter
Добавьте репортер в конфигурацию
В начале файла wdio.conf.js
подключите библиотеку:
const video = require('wdio-video-reporter');
Затем добавьте видео репортер в конфигурацию в свойстве reporters:
reporters: [
[video, {
saveAllVideos: false, // Если true, также сохраняет видео для успешных тестов
videoSlowdownMultiplier: 3, // Выше, чтобы получить более медленные видео, ниже для более быстрых [Значение 1-100]
}],
],
Использование с Allure
Добавление репортера Allure автоматически обновляет отчеты видео без необходимости настройки чего-либо :-)
reporters: [
[video, {
saveAllVideos: false, // Если true, также сохраняет видео для успешных тестов
videoSlowdownMultiplier: 3, // Выше, чтобы получить более медленные видео, ниже для более быстрых [Значение 1-100]
}],
['allure', {
outputDir: './_results_/allure-raw',
disableWebdriverStepsReporting: true,
disableWebdriverScreenshotsReporting: true,
}],
],
Конфигурация
Обычные параметры конфигурации
Большинство пользователей могут захотеть установить следующие параметры
saveAllVideos
Установите значение true, чтобы сохранять видео для успешных тестов.По умолчанию: false
videoSlowdownMultiplier
Целое число между [1-100]. Увеличьте, если видео воспроизводятся слишком быстро.По умолчанию: 3
videoRenderTimeout
Максимальное количество секунд ожидания рендеринга видео.По умолчанию: 5
outputDir
Если не установлено, используется wdio.config.outputDir.По умолчанию: undefined
outputDir
Если не установлено, используется wdio.config.outputDir.По умолчанию: undefined
maxTestNameCharacters
Максимальная длина имени теста.По умолчанию: 250
Расширенные параметры конфигурации
Продвинутые пользователи, которые хотят изменить, когда двигатель делает снимок экрана, могут отредактировать следующие параметры. Эти массивы могут быть заполнены последним словом сообщения jsonWireProtocol, т.е. /session/:sessionId/buttondown
.
addExcludedActions
Добавьте действия, для которых снимки экрана не нужны.По умолчанию: []
addJsonWireActions
Добавьте действия, для которых снимки экрана отсутствуют.По умолчанию: []
recordAllActions
Пропустите фильтрацию и снимайте всё. (Не рекомендуется)По умолчанию: false
Чтобы увидеть обработанные сообщения, установите wdio.config.logLevel: 'debug'
и проверьте outputDir/wdio-X-Y-Video-reporter.log
. Это также оставит директорию с выходными снимками экрана для проверки.
Чтобы полностью избежать дополнительного логирования и получить только видеофайлы, установите wdio.config.logLevel: 'silent'
.