黄瓜用标签自动重新运行失败的场景?

时间:2012-03-23 02:26:46

标签: ruby selenium cucumber webdriver

在我们的构建中,某些情况由于我们无法控制的原因而失败,或者需要很长时间才能正常调试。事情如异步javascript等。

无论如何,关键是有时他们工作有时他们没有,所以我认为将标签添加到诸如@rerun_on_failure或@retry之类的场景会很好,这会在失败之前重试场景X次数。建立。

我知道这不是一个理想的解决方案,但测试仍然很有价值,我们希望保留它而不会有误报

实际测试未能点击链接并希望将跟踪事件发送到服务器进行分析(通过javascript)。有时,selenium web-driver加载下一页太快,事件没有时间发送。

由于

2 个答案:

答案 0 :(得分:10)

我一直在考虑写一些你所描述的内容,但我发现了这个:

http://web.archive.org/web/20160713013212/http://blog.crowdint.com/2011/08/22/auto-retry-failed-cucumber-tests.html

  

如果您因为非确定性故障而不得不重新启动CI服务器中的版本,那么此帖子适合您。

简而言之:他创建了一个名为cucumber的新rake任务:重新运行使用rerun.txt重试失败的测试。在那里添加一些循环应该很容易重试最多3倍(例如)。

答案 1 :(得分:6)

更新版本的Cucumber有一个重试标志

cucumber --retry 2

如果失败则会重试两次