Главный отчет генерируется не для всех пакетов с HTML REPORTER (wdio5)

У меня есть настройка конфигурации в "wdio.conf.js" для "rpii html reporter". Но это не генерация генерального отчета для всех апартаментов.

const { ReportAggregator, HtmlReporter } = require('@rpii/wdio-html-reporter');
exports.config = {

    reporters: ['spec', [HtmlReporter, {
        debug: true,
        outputDir: './reports/html-reports/',
        filename: 'report.html',
        reportTitle: 'Test Report Title',
        showInBrowser:true
    }
    ]],

    onPrepare: function (config, capabilities) {

        let reportAggregator = new ReportAggregator({
            outputDir: './reports/html-reports/',
            filename: 'master-report.html',
            reportTitle: 'Master Report'
        });
        reportAggregator.clean() ;

        global.reportAggregator = reportAggregator;
    },

    onComplete: function(exitCode, config, capabilities, results) {
        (async () => {
            await global.reportAggregator.createReport( {
                config: config,
                capabilities: capabilities,
                results : results
            });
        })();
    }
}

Я ожидаю одного отчета с несколькими тестами. Но я получаю несколько отчетов для каждого теста.

0 ответов

Тема довольно старая, но я только что рассмотрел аналогичную проблему в своем проекте - вообще не могу создать отчет. В большинстве случаев это просто вопрос конфигурации, но нет твердого документа или руководства для этой болезненной конфигурации репортера wdio. Итак, вот я, после целой недели исследований и тестирования, это жизнеспособная конфигурация, которая вам понадобится, и другие ребята, которые столкнулись / столкнулись с той же проблемой.

Во-первых, предположим, что структура вашего проекта будет похожа на дерево ниже

.
├── some_folder1
│   ├── some_sub_folder1
│   ├── some_sub_folder2
├── some_folder2
├── @report
│   ├── html-reports
│   ├── template
│   │   ├── sanity-mobile-report-template.hbs
│   │   ├── wdio-html-template.hbs
├── specs
│   ├── test1
│   │   ├── test1.doSuccess.spec.js
│   │   ├── test1.doFail.spec.js
│   ├── test2
│   │   ├── test2.doSuccess.spec.js
│   │   ├── test2.doFail.spec.js
├── node-modules
├── package.json

Во-вторых, у вас должны быть шаблоны для отчетов, в моем случае он находится в @report/template. wdio-html-template.hbs и sanity-mobile-report-template.hbs за HtmlReporter и ReportAggregatorсоответственно. Как сообщил Рич Питерс, выше

Каждый пакет выполняется индивидуально, и создаются файлы html и json. wdio не агрегирует комплекты, поэтому агрегатор отчетов собирает все файлы и создает агрегированный файл по завершении.

В HtmlReporter на самом деле нужно будет найти его шаблон для генерации содержимого для каждого файла.spec, тогда потребуется другой шаблон, запрошенный ReportAggregator

В-третьих, вам нужны правильные спецификации и объявление наборов в конфигурации wdio, общие для спецификаций и файл специально для наборов.

Наконец, запустите тест, используя--suiteпараметр, ссылка на руководство wdio

Моя окончательная структура проекта будет выглядеть так, обратите внимание на изменения

.
├── some_folder1
│   ├── some_sub_folder1
│   ├── some_sub_folder2
├── some_folder2
├── @report
│   ├── html-reports
│   ├── ├── screenshots
│   ├── ├── suite-0-0
│   ├── ├── ├── 0-0
│   ├── ├── ├── ├── report.html
│   ├── ├── ├── ├── report.json
│   ├── ├── ├── 0-1
│   ├── ├── ├── ├── report.html
│   ├── ├── ├── ├── report.json
│   ├── ├── master-report.html
│   ├── ├── master-report.json
│   ├── template
│   │   ├── sanity-mobile-report-template.hbs
│   │   ├── wdio-html-template.hbs
├── specs
│   ├── test1
│   │   ├── test1.doSuccess.spec.js
│   │   ├── test1.doFail.spec.js
│   ├── test2
│   │   ├── test2.doSuccess.spec.js
│   │   ├── test2.doFail.spec.js
├── node-modules
├── package.json

Каждый набор выполняется индивидуально, и создаются файлы html и json. wdio не объединяет наборы, поэтому это выполняется агрегатором отчетов, который собирает все файлы и создает объединенный файл по завершении.

Другие вопросы по тегам