Dagger icon indicating copy to clipboard operation
Dagger copied to clipboard

求解:失败用例自动再执行没有生效

Open rjtest opened this issue 11 years ago • 5 comments

我下载了https://github.com/chenkan/Dagger的代码。 改了TestNg.java中的String searchBtn = "//input[@name='btnK0']";让这个元素找不到。(或者在文本认证中把true改成false) 然后直接在Eclipse里执行demo.xml,用例均失败,但是没有看到失败用例多次执行。 按理说找不到元素,应该算用例失败,按照配置应该执行多次的吧。

rjtest avatar Sep 05 '13 11:09 rjtest

直接在Eclipse里执行demo.xml

使用的是Eclipse的TestNg插件提供的TestNg Jar包,非Dagger提供的具有失败重试功能的私有TestNg Jar包。 必须使用ant执行用例才行,例如:在命令行下进入工程根目录,执行

ant demo

wiki可见:https://github.com/NetEase/Dagger/wiki/Retry-Failed-Or-Skipped-Testcases

chenkan avatar Sep 05 '13 13:09 chenkan

明白了,我用自己编译的testng的jar包替换了Eclipse里面的jar包后搞定了。 你的实现是在test级进行的rerun。其实,使用TestNG提供的IRetryAnalyzer接口可以实现class级的rerun。 但是都无法解决一个问题,在持续集成中,只要这个用例失败了,不就会发出bug邮件吗,你后面成功了也不会补发说成功了。。。

rjtest avatar Sep 06 '13 01:09 rjtest

其实,使用TestNG提供的IRetryAnalyzer接口可以实现class级的rerun。

这个可以有:)

只要这个用例失败了,不就会发出bug邮件吗,你后面成功了也不会补发说成功了

失败后重运行pass的,就被认为是pass,也不发送邮件通知,免得由于运行稳定性给大家造成困扰,这是设计之初的本意

一定要发邮件的话,使用TestNG的监听器接口应该就OK了。其实在远古时代,我们就是这么做的,后来不用了,因为假失败干扰大家工作,影响自动化的信誉

chenkan avatar Sep 06 '13 04:09 chenkan

明白了,我用自己编译的testng的jar包替换了Eclipse里面的jar包后搞定了。 =>请问这点能详细说下流程么?我也遇到了这个问题,想请教下怎么才能让这个失败case自动运行 work起来? 谢过了

frances657132 avatar Oct 27 '14 11:10 frances657132

在Dagger 1.3版本以后,使用另一个TestNg插件进行失败用例的重跑。 如何在Dagger中配置可以参考 Wiki: Retry Failed Testcases using Arrow, Arrow的介绍以及详细使用可以到这里查看.

andrewleo avatar Oct 27 '14 15:10 andrewleo