量角器黄瓜JUnit XML报告

时间:2016-07-20 18:49:11

标签: cucumber protractor cucumber-junit

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

1 个答案:

答案 0 :(得分:4)

要生成cucumber json report:,首先需要生成hooks.js

1)创建一个单独的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; 挂钩

cucumber-junit

这将在当前目录的 Reports 文件夹中创建 cucumber_report.json 文件。

2)您可以使用$ cat ./Reports/cucumber_report.json | ./node_modules/.bin/cucumber-junit > cucumber_report.xml https://www.npmjs.com/package/cucumber-junit或您上面提到的其中一个库来使用此json报告,所有这些都是类似的&按照简单的说明&然后只需运行以下命令

public static class Algorithms
{
    public static void Rotate<T>(this T[] array, int count)
    {
        if (array == null || array.Length < 2) return;
        count %= array.Length;
        if (count == 0) return;
        int left = count < 0 ? -count : array.Length + count;
        int right = count > 0 ? count : array.Length - count;
        if (left <= right)
        {
            for (int i = 0; i < left; i++)
            {
                var temp = array[0];
                Array.Copy(array, 1, array, 0, array.Length - 1);
                array[array.Length - 1] = temp;
            }
        }
        else
        {
            for (int i = 0; i < right; i++)
            {
                var temp = array[array.Length - 1];
                Array.Copy(array, 0, array, 1, array.Length - 1);
                array[0] = temp;
            }
        }
    }
}

它将生成cucumber_report.xml文件。