【问题标题】:Re-run protractor timeout or failed tests重新运行量角器超时或测试失败
【发布时间】:2014-12-31 18:57:28
【问题描述】:

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

有人有这方面的经验吗? 它会是这样的:

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

【问题讨论】:

    标签: angularjs testing protractor end-to-end


    【解决方案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

      请注意上面那个 NPM 链接下的警告部分:

      *注意事项

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

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

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

        • 如何在量角器-黄瓜设置中“使用此文件运行测试”?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-09-19
        • 1970-01-01
        • 2019-05-13
        • 1970-01-01
        • 2018-12-06
        • 2011-12-05
        • 1970-01-01
        相关资源
        最近更新 更多