我们正在通过jenkins服务器运行一套Frank/cucumber测试来测试iOS应用。黄瓜 - 詹金斯重新运行失败测试
这些测试本地运行得很好,并且在jenkins服务器上手动运行也是如此。但是,当通过jenkins时,我们偶尔会遇到导致构建失败的错误,当我们再次运行jenkins时(即按下'Build now'按钮),无需更改任何内容即可正常工作。
我们运行下面的代码来运行测试:
cucumber features/ipad --tags [email protected]
我接着又说了重新运行参数失败的测试转储到一个文本文件:
-f rerun -o rerun.txt
然后跑去黄瓜重新运行。 TXT直后,所以它整个comman看起来像这样:
cucumber features/ipad --tags [email protected] -f rerun -o rerun.txt; cucumber @rerun.txt
这工作正常,我t捕获失败的测试,并在其他测试后重新执行它们。
但是,jenkins仍然将构建标记为失败,即使重新运行通过。
有没有办法告诉黄瓜或詹金斯忽略第一次测试运行,并且只将重新运行测试标记为合格或失败?
或者有没有更好的方法呢?
感谢
我认为你和Peter是正确的,因为测试需要重写/重新考虑,以免出现这些错误。当测试在本地运行良好时,这是令人沮丧的,但通过jenkins失败没有明显的原因。我会检查我们是否使用junit。谢谢! – MichalT
@MichalT检查控制台日志,该日志应该准确显示构建失败的原因。无论如何,弗兰克手势有问题,他们不可靠。如果您只使用简单的触摸,测试可能会失败的原因有几个,例如动作之间的小延迟(使用'wait_for_nothing_to_be_animating'而不是睡觉)。我遇到了同样的问题,我的测试完全在本地运行。然而,事实证明jenkins失败几乎总是由测试中的问题引起的 - 或者是随机出现的真正bug。总是试图理解测试失败的原因。 – Sulthan