Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
rjtest opened this issue Sep 5, 2013 · 5 comments
Open

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

rjtest opened this issue Sep 5, 2013 · 5 comments
Labels

Comments

@rjtest
Copy link

rjtest commented Sep 5, 2013

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

@chenkan
Copy link

chenkan commented Sep 5, 2013

直接在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

@rjtest
Copy link
Author

rjtest commented Sep 6, 2013

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

@chenkan
Copy link

chenkan commented Sep 6, 2013

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

这个可以有:)

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

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

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

@frances657132
Copy link

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

@andrewleo
Copy link
Member

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants