一、内置测试报告
内置的测试报告包括Mocha的内置测试报告和cypress中的测试报告,主要有以下几种:
1.spec格式报告,输出是一个嵌套的分级视图
cypress run --reporter spec
2.json格式报告
cypress run --reporter json
3.junit格式报告
cypress run --reporter junit
运行完成后,测试报告会生成在根目录下的results文件内,同时console内也会展示
二、自定义测试报告
1.mochawesome格式报告
安装Mocha与mochawesome,需注意Mocha6.0引入了一个bug,固定安装5.2.0版本。
cnpm install --save-dev mocha@5.2.0
cnpm install --save-dev mochawesome
尽量使用淘宝镜像的cnpm安装,使用npm可能存在报错
cnpm的设置可查看【https://www.jianshu.com/p/1ea0abc21f48】
在根目录运行
cypress run --reporter mochawesome
运行完成后,在根目录会自动生成一个mochawesome-report 的文件夹
在浏览器打开“mochawesome-report\mochawesome.html”文件
2.自定义报告
在D:\mysite\cypress目录下新增一个report文件夹,文件夹内增加一个iTesting-report.js文件,仅改变报告的成功的样式,内容如下:
function MyReporter(runner) {
mocha.reporters.Base.call(this, runner);
var passes = 0;
var failures = 0;
runner.on('pass', function(test) {
passes++;
console.log('pass: %s', test.fullTitle());
});
runner.on('fail', function(test, err) {
failures++;
console.log('fail: %s -- error: %s', test.fullTitle(), err.message);
});
runner.on('end', function() {
console.log('用户自定义报告: %d/%d', passes, passes + failures);
});
}
根目录运行,运行成功之后,自定义报告会显示在console里
cypress run --reporter cypress\reporter\iTesting-report.js
3.生成混合测试报告
官方推荐使用mocha-multi-reporters,官网【https://docs.cypress.io/guides/tooling/reporters#Examples】
安装
cnpm install --save-dev mocha-multi-reporters
cnpm install --save-dev mocha-junit-reporter
在D:\mysite\cypress目录下新增一个report文件夹,文件夹内增加一个iTesting-repo.json文件
{
"reporterEnabled": "spec, json, mocha-junit-reporter",
"reporterOptions": {
"mochaFile": "cypress/results/iTesting-[hash].xml" //若没有该路径,运行后会自动生成一个results文件夹
}
}
运行
cypress run --spec "cypress\integration\GOAL\*.js" --reporter mocha-multi-reporters --reporter-options configFile=cypress\reporter\iTesting-repo.json
指定运行了一个文件夹内的用例,运行完成后测试报告在文件夹“results”内,json格式的报告也显示在console内,且发现几个用例便生成了几个单独的报告