WebdriverIO предоставляет мощные инструменты для автоматического создания отчётов, которые позволяют разработчикам и тестировщикам легко отслеживать результаты тестов. Встроенные и сторонние библиотеки для создания отчётов в WebdriverIO обеспечивают гибкость, простоту и полноту информации для анализа.
Отчёты WebdriverIO могут быть представлены в различных форматах: HTML, JSON, или даже в виде интеграции с популярными сервисами. Основная цель отчёта — предоставить всю необходимую информацию о выполненных тестах, включая подробности о прохождении или неудаче каждого теста, а также захваченные ошибки и логи.
Для начала работы с отчётами нужно настроить соответствующие плагины.
В WebdriverIO существует несколько популярных решений для создания
отчётов, таких как wdio-spec-reporter,
wdio-allure-reporter, и другие.
Пример конфигурации для
wdio-spec-reporter:
exports.config = {
reporters: ['spec'],
};
Этот плагин предоставляет минималистичный отчёт в консоли, который в реальном времени отображает статус каждого теста, а также количество пройденных и неудачных тестов.
Пример конфигурации для
wdio-allure-reporter:
exports.config = {
reporters: [
['allure', {
outputDir: 'allure-results',
disableWebdriverStepsReporting: true,
disableWebdriverScreenshotsReporting: false
}]
],
};
Этот плагин создаёт отчёты в формате Allure, который является более детализированным и поддерживает визуализацию и интеграцию с другими системами CI/CD.
WebdriverIO предоставляет возможность собирать различные виды данных для отчётов: от стандартных логов и скриншотов до видеозаписей сессий тестирования.
Чтобы добавить логирование или делать скриншоты в случае ошибки, можно использовать соответствующие хуки в конфигурации WebdriverIO. Например, чтобы сделать скриншот в случае неудачи теста, нужно добавить следующий код в конфигурацию:
afterTest: function(test) {
if (test.passed) return;
browser.saveScreenshot(`./screenshots/${test.title}.png`);
},
Этот хук сохраняет скриншот для каждого теста, который не прошёл. Скриншоты могут быть полезны для быстрой диагностики проблем.
Для записи видео с выполнения тестов можно использовать плагин
wdio-video-reporter. Для его установки и настройки
достаточно добавить следующее в конфигурацию:
exports.config = {
reporters: [
['video', {
outputDir: './videos',
videoName: '${browserName}-${os}-${platform}-${timestamp}.mp4',
saveAllVideos: false,
videoScreen: 'full'
}]
],
};
Плагин будет записывать видео для каждого теста и сохранять его в указанную директорию.
Allure является одним из самых популярных решений для тестовых отчётов. Для использования Allure с WebdriverIO необходимо установить плагин и настроить его:
npm install --save-dev @wdio/allure-reporter
Затем в конфигурации теста включить плагин:
exports.config = {
reporters: [
['allure', {
outputDir: 'allure-results',
disableWebdriverStepsReporting: true,
disableWebdriverScreenshotsReporting: false
}]
],
};
После этого можно запускать тесты, а отчёты в формате Allure будут
автоматически генерироваться в указанной директории
allure-results. Для визуализации этих отчётов можно
использовать Allure Commandline Tool, который генерирует красивый
HTML-отчёт.
В WebdriverIO можно использовать дополнительные функции для гибкой настройки отчетности, например:
WebdriverIO позволяет интегрировать перехват логов браузера в отчёты. Это полезно для анализа ошибок JavaScript, сетевых запросов и других действий, происходящих на странице.
afterTest: async function(test) {
if (test.passed) return;
const logs = await browser.getLogs('browser');
logs.forEach(log => console.log(log.message));
},
Это позволяет получать лог сообщений с деталями ошибок на уровне браузера, что может быть полезным при анализе сложных проблем.
WebdriverIO поддерживает интеграцию с системами непрерывной интеграции, такими как Jenkins, GitLab CI и другими. В таких системах отчёты часто генерируются в формате HTML или JSON и отправляются в централизованный репозиторий или сервис для анализа.
Для того чтобы интегрировать отчёты WebdriverIO с Jenkins, можно использовать плагин Allure для Jenkins, который автоматически собирает результаты тестов и визуализирует их в виде интерактивных отчётов.
Автоматическое создание отчётов в WebdriverIO является мощным инструментом для анализа тестов, помогает выявить ошибки и отслеживать стабильность приложений. Благодаря широкому выбору плагинов и настроек, можно настроить отчёты, которые соответствуют требованиям конкретного проекта или команды, что значительно облегчает процесс тестирования и диагностики.