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-звітів для надання історичних даних виконання протягом кількох тестових запусків.