003、【MYY】Ui自动化测试:使用selenium或者appium跑自动化时,经常不稳定(这次测试通过,下次又失败),有哪些办法解决此问题?
面试题如下:
参考解答:
这个问题得区分selenium和appium分开做答,因为selenium和appium不稳定的因素不一样 ,不过大体差不多。
1、selenium的话一般就是增加 隐式等待 和 显示等待,还有 强制等待,失败重跑,js操作属性 来保证定位;
2、appium的话他会有环境问题,例如真机连接不稳定导致失败,所以可以用多真机执行,单独真机执行失败后可以选择其他真机代替执行,如果没有那么多手机的话, 环境问题那就只有自己用代码
去一直尝试解决了,appium除了js操作属性其余的都差不多。
显示等待是必不可少的,隐式等待是有必要的;但是并不是能解决所有的定位问题。
多线程的时候,测试用例间相互影响。虽然多线程的时候运行速度比较快,但是如果用例之间的耦合性没有设计好,也会影响的,如果用例A先于用例B执行的时候,就会
影响到用例B;反之则没有问题。这种情况,需要降低测试用例耦合度,尽量没有任何关系,因为多线程的执行顺序是不受控制的。
多线程执行selenium如果是采用allure集成报告,测试报告是异常的。