重新运行量角器超时或测试失败

时间:2014-12-31 18:57:29

标签: angularjs testing protractor end-to-end

我没有找到任何关于重新运行失败测试的可能性的参考(使用量角器)。 你知道怎么做吗? 这将是很好的,因为我有很多测试,我不想再次运行所有测试,以验证以前失败的测试是否通过。

有人有经验吗? 它希望如此:

  • 运行所有测试
  • 收集失败的测试并再次运行(也许我可以设置重试限制,如2或3次)
  • 显示结果

3 个答案:

答案 0 :(得分:2)

据我了解,目前不可能,但有一个开放的功能请求:

答案 1 :(得分:2)

截至2016年9月9日,在黄瓜/量角器e2e测试中重新运行失败测试的唯一方法是使用NickTomlin的量角器片。

Protractor-flake是" 量角器的包装器,可以针对特定次数的尝试自动重新运行失败的规格" ,请查看这两个关于如何实施它的步骤的链接:

  1. https://www.npmjs.com/package/protractor-flake
  2. https://github.com/NickTomlin/protractor-flake/blob/master/docs/cucumber.md
  3. 请注意上面NPM链接下的警告部分:

    <强> *注意事项

    尚未使用Protractor + Mocha进行测试。它的功能应该相似。如果不是这样,请更新问题或PR。

    如果使用不记录堆栈跟踪的自定义报告器以进行失败的测试,则测试将无法正常重新运行(所有测试都将每次运行)。例如,如果您在Jasmine 2.0中使用jasmine-spec-reporter,请务必设置displayStacktrace:&#39; specs&#39;或displayStacktrace:&#39; all&#39;。*

答案 2 :(得分:0)

Cucumber有自己的属性来重新运行失败的测试,你只需要粘贴:

cucumberOpts : {
        require : [
            '...'
        ],
        format : 'rerun:path/to/@rerun.txt'
    }

然后使用此文件运行测试。