今天查看自动化测试代码的时候发现,明明封装了显示等待,同事的代码中依旧包含很多死等待(time.sleep)
经过查询,发现在封装unittest中添加了隐形等待
在封装findelement时添加了显性等待
本来以为是执行测试时会产生冲突,注释掉隐形等待就好了
后来发现显性等待和隐形等待是可以共存的,取最大的等待时间
结果发现还是会发生找不到元素的情况,应该是presence_of_element_located()方法导致的,然后试了其他的expected_conditions方法发现还是不对
然后又觉得因为我们的网站是单页模式,出现找到的元素在dom树里,可能切换页面后,find到的元素在上一个页面,所以在这个页面点击会报错
测试后发现也不是dom树的问题