【问题标题】:Protractor Cucumber JUnit XML report量角器黄瓜 JUnit XML 报告
【发布时间】:2016-07-20 18:49:11
【问题描述】:

我希望从 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. 需要在量角器配置文件或项目中的任何其他位置进行哪些更改?

【问题讨论】:

    标签: cucumber protractor cucumber-junit


    【解决方案1】:

    为了生成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 文件。

    【讨论】:

    • 第 1 步有效。此外,我还必须添加在 cucumberOpts 的 require 中创建的 js 文件。对于第 2 步 - 此命令的 windows 等效项是什么?我在 Windows 机器上执行
    • 知道了 - 输入 ./Reports/cucumber_report.json | ./node_modules/.bin/cucumber-junit > cucumber_report.xml
    • 您是否能够生成 xml 报告?
    • 很高兴它成功了!如果它解决了您的问题,您可以接受答案:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-26
    • 1970-01-01
    • 2018-04-29
    • 1970-01-01
    • 2021-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多