Man*_*nya 2 cucumber cucumber-junit protractor
我希望通过Protractor-Cucumber测试创建JUnit样式的XML报告,以便CI可以使用它们。
关于如何实现这一目标,是否有任何详细的步骤?
从下面的链接获得了protractor-cucumber-junit npm库,但是文档并不详尽。
https://www.npmjs.com/package/protractor-cucumber-junit
该页面还指向一个更好的名为“ cucumberjs-junitxml”的插件。有关文档,请参见
https://github.com/sonyschan/cucumberjs-junitxml
这也不是很有帮助。
问题:
为了生成cucumber junit xml,首先您需要生成cucumber json report:
1)创建一个单独的js文件,您可以给它任何名称,如果将其hooks.js与所有before&after挂钩一起放入,它将更好
var Cucumber = require('cucumber'); // npm install --save cucumber
var fs = require('fs');
var hooks = function () {
var outputDir = './Reports/';
var JsonFormatter = Cucumber.Listener.JsonFormatter();
JsonFormatter.log = function (string) {
if (!fs.existsSync(outputDir)) {
fs.mkdirSync(outputDir);
}
var targetJson = outputDir + 'cucumber_report.json';
fs.writeFile(targetJson, string, function (err) {
if (err) {
console.log('Failed to save cucumber test results to json file.');
console.log(err);
}
});
};
this.registerListener(JsonFormatter);
}
module.exports = hooks;
Run Code Online (Sandbox Code Playgroud)
这将在当前目录的Reports文件夹中创建cummon_report.json文件。
2)您可以使用cucumber-junit库https://www.npmjs.com/package/cucumber-junit或您在上面提到的库之一使用此json报告,所有这些都相似并且遵循简单的说明,然后只需运行以下命令
$ cat ./Reports/cucumber_report.json | ./node_modules/.bin/cucumber-junit > cucumber_report.xml
Run Code Online (Sandbox Code Playgroud)
它将生成cumulage_report.xml文件。
| 归档时间: |
|
| 查看次数: |
1949 次 |
| 最近记录: |