量角器黄瓜JUnit XML报告

问题描述 投票:1回答:1

我希望从Protractor-Cucumber测试中创建JUnit样式的XML报告,以便CI可以使用它们。

有关如何实现这一目标的详细步骤吗?

从下面的链接获得了量角器 - cucumber-junit npm库,但文档并不详细。

https://www.npmjs.com/package/protractor-cucumber-junit

该页面还指向一个名为'cucumberjs-junitxml'的更好的插件。有关这方面的文件,请参阅

https://github.com/sonyschan/cucumberjs-junitxml

这也不是很有帮助。

问题:

  1. 在安装插件以获取最终XML之后,要遵循哪些详细步骤?
  2. 在量角器配置文件或项目中的任何其他位置需要进行哪些更改?
cucumber protractor cucumber-junit
1个回答
4
投票

为了生成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;

这将在当前目录的Reports文件夹中创建cucumber_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

它会生成cucumber_report.xml文件。

© www.soinside.com 2019 - 2024. All rights reserved.