stat-reporter
Обзор
Используйте плагин stat-reporter, чтобы получить отчет(ы) со статистикой прогона тестов в testplane.
Плагин позволяет получать отчет как в консоли, так и в виде html- и/или json-файла. При этом отчеты не взаимоисключающие: после прогона тестов можно получить сразу 3 вида отчетов.
Формат отчета
В отчете плагина результаты прогона тестов разбиты по браузерам. Также выводятся максимальное время выполнения (Duration) в минутах и секундах и результат прогона тестов (Status) в каждом браузере. Такой отчет позволяет понять в каких браузерах возникли проблемы, а именно: не проходит больше всего тестов или время выполнения резко возросло.
По умолчанию включен только отчет в консоли:
┌──────────────────────┬────────┬───────┬────────┬────────┬─────────┬─────────┬──────────┐
│ Browser │ Status │ Tests │ Passed │ Failed │ Skipped │ Retries │ Duration │
├──────────────────────┼────────┼───────┼────────┼────────┼─────────┼─────────┼──────────┤
│ firefox │ passed │ 25 │ 24 │ 0 │ 1 │ 0 │ 01:02 │
├──────────────────────┼────────┼───────┼────────┼────────┼─────────┼─────────┼──────────┤
│ chrome-desktop │ passed │ 466 │ 464 │ 0 │ 2 │ 4 │ 07:40 │
├──────────────────────┼────────┼───────┼────────┼────────┼─────────┼─────────┼──────────┤
│ ipad │ passed │ 24 │ 23 │ 0 │ 1 │ 0 │ 01:27 │
├──────────────────────┼────────┼───────┼────────┼────────┼─────────┼─────────┼──────────┤
│ iphone │ passed │ 376 │ 372 │ 0 │ 4 │ 7 │ 07:12 │
├──────────────────────┼────────┼───────┼────────┼────────┼─────────┼─────────┼──────────┤
│ chrome-phone │ passed │ 427 │ 421 │ 0 │ 6 │ 14 │ 07:32 │
├──────────────────────┼────────┼───────┼────────┼────────┼─────────┼─────────┼──────────┤
│ iphone-dark │ passed │ 74 │ 72 │ 0 │ 2 │ 4 │ 02:18 │
├──────────────────────┼────────┼ ───────┼────────┼────────┼─────────┼─────────┼──────────┤
│ searchapp-phone │ passed │ 319 │ 317 │ 0 │ 2 │ 9 │ 10:00 │
├──────────────────────┼────────┼───────┼────────┼────────┼─────────┼─────────┼──────────┤
│ safari13 │ passed │ 15 │ 13 │ 0 │ 2 │ 4 │ 02:42 │
├──────────────────────┼────────┼───────┼────────┼────────┼─────────┼─────────┼──────────┤
│ chrome-desktop-1920 │ passed │ 3 │ 3 │ 0 │ 0 │ 0 │ 00:57 │
├──────────────────────┼────────┼───────┼────────┼────────┼─────────┼─────────┼──────────┤
│ iphoneX │ passed │ 3 │ 3 │ 0 │ 0 │ 0 │ 00:36 │
├──────────────────────┼────────┼───────┼────────┼────────┼─────────┼─────────┼──────────┤
│ chrome-desktop-dark │ passed │ 77 │ 77 │ 0 │ 0 │ 5 │ 01:33 │
├──────────────────────┼────────┼───────┼────────┼────────┼─────────┼─────────┼──────────┤
│ yandex-browser-phone │ passed │ 1 │ 1 │ 0 │ 0 │ 0 │ 00:28 │
├──────────────────────┼────────┼───────┼────────┼────────┼─────────┼─────────┼──────────┤
│ chrome-grid-720 │ passed │ 2 │ 2 │ 0 │ 0 │ 0 │ 00:49 │
└──────────────────────┴────────┴───────┴────────┴────────┴─────────┴─────────┴──────────┘
Если вы хотите получить больше функциональности, то используйте html-reporter для получения отчета о прогоне тестов.
Установка
npm install -D stat-reporter
Настройка
Необходимо подключить плагин в разделе plugins
конфига testplane
:
- Минимальный конфиг
- Максимальный конфиг
module.exports = {
plugins: {
'stat-reporter': {
enabled: true
// отчет будет только в консоли
},
// другие плагины testplane...
},
// другие настройки testplane...
};
module.exports = {
plugins: {
'stat-reporter': {
enabled: true,
reporters: {
flat: {
enabled: true
},
html: {
enabled: true,
path: 'some/path/to/file.html'
// если не указывать path, то отчет будет сохранен
// в stat-reporter.html в текущей рабочей директории
},
json: {
enabled: true,
path: 'some/path/to/file.json'
// если не указывать path, то отчет будет сохранен
// в stat-reporter.json в текущей рабочей директории
}
}
},
// другие плагины testplane...
},
// другие настройки testplane...
};
Расшифровка параметров конфигурации
Параметр | Тип | По умолчанию | Описание |
enabled | Boolean | true | Включить / отключить плагин. |
reporters | Object | см. описание | Настройки отчетов со статистикой прогона тестов. По умолчанию включен только отчет в консоли (flat). |
enabled
Включить или отключить плагин. По умолчанию: true
.
reporters
Необязательный параметр. Задает настройки отчетов со статистикой прогона тестов.
По умолчанию:
{
// отчет со статистикой будет только в консоли
flat: {
enabled: true;
}
}
Параметр является объектом, в котором ключ определяет тип отчета, а его значение в виде объекта — соответствующие настройки отчета. Можно задать следующие ключи:
- flat — для отчета в консоли;
- html — для html-отчета;
- json — для json-отчета.
Все отчеты имеют в настройках параметр enabled
типа Boolean
, который определяет включен отчет или отключен. По умолчанию включен только отчет в консоли.
Также отчеты типа html
и json
имеют дополнительный параметр path
— путь к файлу, в который необходимо сохранить отчет.
По умолчанию отчет сохраняется в текущей рабочей директории в файл stat-reporter.html
или stat-reporter.json
в зависимости от типа отчета.
Передача параметров через CLI
Все параметры плагина, которые можно определить в конфиге, можно также передать в виде опций командной строки или через переменные окружения во время запуска testplane. Используйте префикс --stat-reporter-
для опций командной строки и stat_reporter_
— для переменных окружения. Например:
npx testplane --stat-reporter-reporters-html-enabled=true
stat_reporter_reporters_html_enabled = true npx testplane
Команды плагина
merge-stat-reports
Плагин добавляет к testplane команду merge-stat-reports
, с помощью которой можно объединить несколько отчетов в один общий отчет как в html, так и в json-формате. При этом команда позволяет получить на выходе итоговые отчеты сразу в двух форматах.
Для сохранения итогового отчета в требуемом формате нужно указать соответствующую опцию: --html
или --json
.
npx testplane merge-stat-reports src-report-1.json src-report-2.json --html dest-html-report --json report.json