Skip to content

Latest commit

 

History

History
171 lines (129 loc) · 12.3 KB

stat-reporter.md

File metadata and controls

171 lines (129 loc) · 12.3 KB

stat-reporter

Обзор

Используйте плагин stat-reporter, чтобы получить отчет(ы) со статистикой прогона тестов в гермионе.

Плагин позволяет получать отчет как в консоли, так и в виде 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 конфига hermione:

Минимальный конфиг

module.exports = {
    plugins: {
        'stat-reporter': {
            enabled: true
            // отчет будет только в консоли
        },

        // другие плагины гермионы...
    },

    // другие настройки гермионы...
};

Максимальный конфиг

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 в текущей рабочей директории
                }
            }
        },

        // другие плагины гермионы...
    },

    // другие настройки гермионы...
};

Расшифровка параметров конфигурации

Параметр Тип По умолчанию Описание
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

Все параметры плагина, которые можно определить в конфиге, можно также передать в виде опций командной строки или через переменные окружения во время запуска гермионы. Используйте префикс --stat-reporter- для опций командной строки и stat_reporter_ — для переменных окружения. Например:

npx hermione --stat-reporter-reporters-html-enabled=true
stat_reporter_reporters_html_enabled = true npx hermione

Команды плагина

merge-stat-reports

Плагин добавляет к гермионе команду merge-stat-reports, с помощью которой можно объединить несколько отчетов в один общий отчет как в html, так и в json-формате. При этом команда позволяет получить на выходе итоговые отчеты сразу в двух форматах.

Для сохранения итогового отчета в требуемом формате нужно указать соответствующую опцию: --html или --json.

npx hermione merge-stat-reports src-report-1.json src-report-2.json --html dest-html-report --json report.json