mochawesome
mocha是配合cypress使用的一个测试报告,而因为mocha下,每一个用例生成一个json文件,所以还需要相关的库进行json合并并转为html
插件安装
cnpm install mochawesome --save
cnpm install mochawesome-merge --save
cnpm install mochawesome-report-generator --save
配置文件
根目录下删除cypress.config.js文件,新增cypress.json文件,复制以下代码:
{
"reporter": "mochawesome",
"reporterOptions": {
"overwrite": false,
"html": false,
"json": true
}
}
以上代码表示了创建一个mochawesome的测试框架,不覆盖json报告、不使用html文件而是使用json文件
运行
scripts目录下,新件cypress.js文件,复制以下代码:
// 导入cypress、mochawesome-merge、mochawesome-report-generator
const cypress = require('cypress');
const { merge } = require('mochawesome-merge');
const genertor = require('mochawesome-report-generator');
// 执行函数
async function runTests(){
// 运行cypress,收集用例并执行
const { totalFailed } = await cypress.run();
// 合并生成的测试报告
const jsonReport = await merge();
console.log(jsonReport);
// 生成测试报告,jsonReport是一个json文件,需要通过genertor生成html的测试报告
await genertor.create(jsonReport);
// 退出程序
process.exit(totalFailed);
}
// 执行函数
runTests();
vscode终端下,执行:nodejs cypress/scripts/cypress.json
执行后会自动寻找项目中的测试用例并执行,最终生产mochawesome-report目录,该目录下,有个mochawesome.html文件,浏览器打开即可查看到对应的报告