Невозможно объединить отчеты mochaweasome

#javascript #node.js #cypress #mochawesome #cypress-component-test-runner

Вопрос:

У меня есть приведенная ниже конфигурация в моем тестовом бегуне, и я пытаюсь объединить все mochaweasome.html файл в виде одного файла мокко.

Runner.js

 async function testRunner(fixture) {
  return cypress.run({
    config: {
      "reporter": "mochawesome",
      "reporterOptions": {
        "reportFilename": "sample"   `${fixture}`,
        "reportDir":"./cypress/reports/",
        "charts": true,
        "overwrite": false,
        "html": true,
        "json": true
      }
    },
    env: {
      testcaseID: `${fixture}`,
    },
    spec: './cypress/integration/'   `${param.getSpec()}`   ".spec.js",

  });
}
 

TestRunner.js:

 const testRunner = require("./Runner.js");

const options = {
    files: [
      './cypress/reports/*.html',
    ],
  }

async function generateReport(options) {
    return merge(options).then(report => marge.create(report, options))
}

async function runner(dataSet) {
 for (let i = 0; i < dataSet.length; i  = 1) {
            await setTimeout[Object.getOwnPropertySymbols(setTimeout)[0]](10000);
                try {
                    await testRunner(dataSet[i]).then((result) => {
                        console.log(JSON.stringify(result, null, " "));
                        generateReport(options);
                        if (result.runs[0].stats.failures === 1) {
                            retry.push(result.config.env.testcaseID);
                        }
                    },
                        error => {
                            generateReport(options);
                            console.error(error);
                            process.exit(1);
                        });
                }
                catch (err) {
                    process.exit(1);
                }
        }
}
 

Отчет о тестировании создается, как показано ниже:

введите описание изображения здесь

Но он не объединяется как единый отчет в соответствии с кодом.

Может кто-нибудь помочь мне исправить это. Я просто хочу один отчет mochaweasome_final, который содержит весь результат в одном файле .html.

Обновлено:

Использовал cypress-mochawesome-reporter и выполнил все шаги. Но все равно отчет не объединяется. Как я могу объединить все 5 HTML-файлов в один.

Вывод:

введите описание изображения здесь

Комментарии:

1.Вы ввели этот импорт в support/index.js import 'cypress-mochawesome-reporter/register';

2. Позвольте мне это проверить.

Ответ №1:

Сначала вы должны установить mocha reporter с помощью npm i cypress-mochawesome-reporter command.

и затем вы должны поместить этот импорт в support/index.js

 import 'cypress-mochawesome-reporter/register';
 

И импортируйте эту строку в plugin/index.js

 module.exports = (on, config) => {
  require('cypress-mochawesome-reporter/plugin')(on);
};
 

А затем в вашем cypress.json файле

 "reporter": "cypress-mochawesome-reporter",
  "reporterOptions": {
    "reportDir": "cypress/reports",
    "charts": true,
    "overwrite": false,
    "html": false,
    "json": true,
    "reportPageTitle": "My Test Suite",
    "embeddedScreenshots": true,
    "inlineAssets": true
 

Ссылка: https://www.npmjs.com/package/cypress-mochawesome-reporter

Комментарии:

1. будет ли он объединять весь отчет по умолчанию?

2. Добавлены мои обновленные комментарии в исходном вопросе. Можете ли вы помочь мне объединить все HTML-файлы в один html с помощью module api