无法合并 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
我的测试运行器中有以下配置,并试图将所有 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