我们发现使用WebDriver的过程中,TESTCASE在执行时,并非只有GET(Url)的时候会发生测试CASE卡主的问题,以下是对会发生此情况的函数的补充
driver.findelement(String locator) //查找页面元素
driver.refush(); //刷新页面
driver.getpagesource(); //获取页面html文本输出
element.click();//点击页面元素
见过检查发现上述函数在加载页面或查找页面元素的时候,若发生由于网络原因或者页面模块加载出现问题时,页面都会在这个过程中卡住,直接的后果是这个CASE持续执行几小时没结果。在 稳定性1文中我们已经介绍过处理的方法,在这里只针对某一个函数去放出部分代码,
具体思路为
以driver.refush();为例
线程实现的代码
核心调用的刷新页面的函数
refreshThread();实现
调用流程
主CASE执行刷新函数?刷新函数调用子线程?子线程执行刷新?执行完毕告诉主线程OK。
若主线程判断子线程超时既页面卡主的情况,则主线程会关闭子线程执行相应的FAIL操作。
欢迎交流~