JSON HTML Reporter Reporter
wdio-json-html-reporter є пакетом стороннього розробника, для отримання додаткової інформації перегляньте GitHub | npm
Це користувацький репортер WebDriverIO, який генерує детальні JSON-звіти під час виконання тестів та надає портативний генератор HTML-звітів для візуалізації результатів тестування. Він записує часові мітки, метадані виконання та може робити знімки екрана за потреби. Пакет відповідає конвенції WebDriverIO для репортерів і опублікований як npm-пакет під назвою wdio-json-html-reporter.
Зміст
- Огляд
- Особливості
- Встановлення
- Використання CLI
- Опція історії та генерація агрегованої історії
- Знімки екрана
Overview
WDIO JSON HTML REPORTER надає два основні компоненти:
- JSONReporter: Користувацький репортер, який розширює інтерфейс репортера WebDriverIO для збору тестових подій та генерації JSON-файлу з метаданими, результатами тестів та (опціонально) знімками екрана.
- HTMLReportGenerator: Утиліта для перетворення кількох JSON-файлів звітів у комплексний HTML-звіт з інтерактивними діаграмами, фільтрацією та функціями експорту. Крі м того, генератор звітів тепер підтримує опціональний файл історії для відображення історичних даних виконання, якщо вони доступні. Коли історичні дані не надаються, звіт опускає історичний розділ і показує лише унікальні помилки.
Ці інструменти допомагають отримати чітке розуміння ваших тестових запусків, що важливо для налагодження та безперервної інтеграції.
Features
- JSON-звітність: Детальний звіт із часовими мітками, назвами набору тестів, результатами тестів, помилками та опціональними знімками екрана.
- HTML-звітність: Перетворює JSON-звіти у портативний HTML-звіт з панеллю інструментів, діаграмами, детальним звітом про тестування та можливостями фільтрації.
- Експорт в Excel: Детальний звіт тестування можна експортувати у файл Excel.
- Підтримка знімків екрана: Зйомка знімків екрана для невдалих тестів (або всіх тестів) на основі вашої конфігурації.
- Метадані виконання: Реєструє інформацію про браузер, час початку/закінчення виконання та загальну тривалість.
- Історія виконання (опціонально): Надайте файл історії JSON для включення історичних даних виконання за набором. Якщо історичні дані не надаються, звіт автоматично приховає цей розділ і відображатиме лише унікальні помилки.
- Генерація агрегованої історії: JSONReporter тепер включає функцію генерації агрегованої історії. Використовуючи статичний метод
JSONReporter.generateAggregateHistory({ reportPaths, historyPath, maxHistory }), ви можете автоматично сканувати всі файли звітів JSON (що відповідають шаблонуtest-report-*.json) у вашому каталозі звітів, агрегувати результати тестів та обчислювати порівняння дефектів на основі історичних даних. Запис агрегованої історії потім додається до вашого файлу історії і може використовуватися генератором HTML-звітів для візуалізації тенденцій з часом.
Installation
Щоб встановити пакет wdio-json-html-reporter, виконайте такі кроки:
1. Install the package
Виконайте наступну команду, щоб встановити пакет як залежність розробки:
npm install --save-dev wdio-json-html-reporter
2. Verify installation
Переконайтеся, що пакет встановлено правильно, виконавши:
npm list wdio-json-html-reporter
Якщо встановлено правильно, ви повинні побачити вивід, подібний до:
wdio-json-html-reporter@x.x.x
3. Update WebDriverIO Configuration
Змініть файл wdio.conf.js або wdio.conf.ts, щоб включити власний репортер:
import { JSONReporter, HTMLReportGenerator } from 'wdio-json-html-reporter';
export const config = {
reporters: [
[JSONReporter, { outputFile: './reports/test-results.json', screenshotOption: 'OnFailure' }], // Options: "No", "OnFailure", "Full"
],
onComplete: async function() {
const outputFilePath = './reports/test-report.html';
const jsonFolder = './reports'; // Directory where JSON reports are saved
// If you want to include historical data, specify the history JSON file path here.
const historyFile = './reports/history.json'; // Optional
// Optionally, generate aggregated history data before generating the HTML report.
// JSONReporter.generateAggregateHistory({ reportPaths: jsonFolder, historyPath: historyFile });
const reportGenerator = new HTMLReportGenerator(outputFilePath, historyFile);
await reportGenerator.convertJSONFolderToHTML(jsonFolder);
}
};
4. Run Your Tests
Виконайте свій набір тестів WebDriverIO:
npx wdio run wdio.conf.js
CLI Usage
Окрім інтеграції з WebDriverIO, ви можете запустити генератор HTML-звітів безпосередньо з командного рядка, використовуючи вбудований CLI.
Використання:
generate-html <inputFolder> <outputFile> [historyFile]
Наприклад, якщо у вас є JSON-файли в папці з назвою test/reports/json-reports і ви хочете створити HTML-звіт з назвою test/reports/report.html, ви можете виконати:
npx wdio-json-html-reporter generate-html test/reports/json-reports test/reports/report.html
Якщо у вас також є файл історії (наприклад, test/reports/history.json), включіть його як опціональний четвертий параметр:
npx wdio-json-html-reporter generate-html test/reports/json-reports test/reports/report.html test/reports/history.json
Примітка:
Функціональність CLI спрацьовує лише коли ви передаєте команду generate-html як перший параметр. При запуску через WebDriverIO (наприклад, з wdio run wdio.conf.js), логіка CLI обходиться.
History Option and Aggregated History Generation
Генератор HTML-звітів тепер підтримує опцію історії. Це дозволяє надати JSON-файл, який містить історичні дані виконання, які об'єднуються у звіті в розділі "Історичне виконання за набором". Якщо файл історії надається і містить дійсні дані, звіт відображатиме історичні тенденції разом з інтерактивними діаграмами та акордеоном для кожного набору. Якщо файл історії не передається або файл не містить жодних даних про набір, звіт автоматично приховає історичний розділ і відображатиме лише огляд унікальних помилок.
Крім того, JSONReporter тепер включає функцію генерації агрегованої історії. За допомогою статичного методу JSONReporter.generateAggregateHistory({ reportPaths, historyPath, maxHistory }) ви можете автоматично сканувати всі файли JSON-звітів (що відповідають шаблону test-report-*.json) у вашому каталозі звітів, агрегувати результати тестів (підсумовуючи кількість тестів та об'єднуючи дані набору) та обчислювати порівняння дефектів, порівнюючи з останнім агрегованим записом. Новостворений запис історії потім додається до вказаного файлу історії. Ці агреговані історичні дані можуть згодом використовуватися генератором HTML-звітів для надання історичних даних виконання протягом кількох тестових запусків.
Screenshots
Dashboard

Test Results

Screenshots

Filters

Excel Export
