Selenium [求助] testng 控制失败重跑

xuyaovScorpion · 2018年03月13日 · 最后由 xuyaovScorpion 回复于 2018年03月14日 · 4965 次阅读

如果 suite.xml 添加了失败重跑的监听,我一个 class 里面有多个@Test,但是我想通过 @Test的参数,来控制哪些用例失败重跑,哪些用例不失败重跑,这个能做到吗

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 9 条回复 时间 点赞

在控制失败重跑逻辑的监听类里面,用反射拿到 testMethod 上的注解,来判断要不要重跑

对 少陵生 回复

好的 我试试,那@Test里面有一个 retryAnalyzer 的参数,这个可以指定失败重跑的类,加与不加来判断,你的想法是通过随便一个参数,来获取值,来判断跑不跑?
比如我用@Test(description=false) 我逻辑里面取 description 的值,false 为不跑 true 为跑,是这个意思吗

对 少陵生 回复

ok 明白了 我试试 多谢兄台指点

对 少陵生 回复

可是貌似并取不到参数

对 少陵生 回复

this.getClass().getSimpleName() 这个只能取到监听类 取不到测试类

对 xuyaovScorpion 回复

失败重跑,应该是继承 IRetryAnalyzer 类,然后继承 IAnnotationTransformer 类来监听。IAnnotationTransformer 类的 transform 方法直接有 testMethod 这个参数,可以直接拿这个参数的注解

对 少陵生 回复

好 昨天我倒是 找到这个参数了 但是没试出来 我在试试 多谢啦

对 少陵生 回复

找到了,是这个接口可以拿到参数的注解 ITestAnnotation annotation

需要 登录 後方可回應,如果你還沒有帳號按這裡 注册。