集成测试的时候一次性要跑 20 多个 case。有可能由于环境的问题,有时候跑一个 case 的时候会报错。
只要中间一个 case 出错,那前面跑的都白跑了。费时又费力。
有没有一种方法,可以让这个 case 报错的时候,重新开始跑,一直到成功为止。
昨天听小道消息 -- 快钱之 webdriver,恒温有一句带过这个方法。我到网上去查了查,而且问过开发。都说没有相关的方法。。
为啥单个 case 出错后,其他 case 会白跑?
如果是不稳定,重跑可能过。如果设计有问题或者有 Bug,怎么能让失败的一直跑,一直跑成功为止呢?那这样的 case 还有意义吗?
你可以设置 retry 的次数,不能去设置一直跑,不然失去意义
@anikikun 因为领导要看 100%pass 的结果~~
@beerbox 恩,是的。我的意思是因为环境问题造成的 fail~~
@kasi 我试试设置 retry 的次数。。
@doctorq case 没有问题,一般都是环境造成的。觉得@weamylady说得对,还是跟领导沟通比较重要,不然累死了。感谢各位。。
每个 case 里面写 try cathe 里面再外面套层 for 循环加一些等待时间
@testly 已解决。。具体是 for(int i=0;i<=5;i++) { try{.......} catch{..... continue;} }。但是不打算用了,跟领导沟通沟通去。。。
Junit、TestNG 都有提供重跑失败用例的功能。失败的再运行两三遍,就可以排除不少环境不稳定造成的失败了。
剩下失败的我都是要人工分析的。
一直不懂集成测试 要怎么整 是保证模块和模块直接接口结果数据的正确之类的吗
@jennyhui 要看你做哪方面的集成了,只做功能的话,集成就相当于回归
@jennyhui 是的~~