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

徐垚 · 2018年03月13日 · 最后由 徐垚 回复于 2018年03月14日 · 745 次阅读

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

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

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

少陵生 回复

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

徐垚 回复

是的

少陵生 回复

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

少陵生 回复

可是貌似并取不到参数

少陵生 回复

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

徐垚 回复

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

少陵生 回复

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

少陵生 回复

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

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册