appium三种等待方式:
(1)强制等待
(2)隐式等待
(3)显式等待
三种等待方式之间的区别:
1、强制等待
使用方式:time.sleep()
强制执行对应的等待时间后,才能执行下面的操作语句,影响脚本运行的速度,一般不推荐
2、隐式等待
使用方式:driver.imolicitly_wait()
相对于强制等待来讲,较智能。设置隐式等待不影响下面脚本的执行,当元素可以被定位到,则继续执行;如果超过时长还没有定位到,则会抛出异常
隐式等待是全局的,设置时间不宜过长。当元素处于不可交互的状态时就会触发隐式等待,多次设置的话后一次会覆盖前一次。
这种方法也存在一个弊端,就是程序会一直等到整个页面加载完成才会继续执行下一步,比如某些时候想要的页面元素早就加载完了,但是由于个别JS等资源加载稍慢,此时程序仍然等待全部页面加载完成后才会继续执行下一步,无形中加长了测试用例的执行时间
3、显示等待
使用方式:
from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions WebDriverWait(driver,10).until(expected_conditions.element_to_be_clickable(element))
显式等待使用前需要先定义元素,设置显式等待,直到某个元素可以被定位条件成立后,则不再等待,继续执行下面的操作。
总结:
1、一般不推荐强制等待,页面确实没有定位的元素,再使用该方式更合理一些
2、显示等待和隐式等待相对来讲更智能
3、根据不同的应用场景使用不同的等待方式
标签:Appium,继续执行,元素,三种,页面,等待,隐式,加载 From: https://www.cnblogs.com/feizaiya/p/17490532.html