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

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

如果 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

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