无法合并 mochaweasome 报告

Unable to merge mochaweasome reports

我的测试运行器中有以下配置,并试图将所有 mochaweasome.html 文件合并为单个 mocha 文件。

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",

  });
}

测试Runner.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 个文件合并为一个文件。

输出:

首先,您必须使用 npm i cypress-mochawesome-reporter 命令安装 mocha reporter。

然后你必须把这个导入 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