量角器黄瓜JUnit XML报告

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

这也不是很有帮助。

问题:

  1. 安装插件以获取最终的XML之后,需要执行哪些详细步骤?
  2. 需要在量角器配置文件或项目中的任何其他位置进行哪些更改?

Ram*_*ala 5

为了生成cucumber junit xml,首先您需要生成cucumber json report:

1)创建一个单独的js文件,您可以给它任何名称,如果将其hooks.js与所有beforeafter挂钩一起放入,它将更好

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-junithttps://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文件。