三种等待方式可以参考我的这篇博客:Appium自动化测试第七篇Appium的三种等待方式
WebDriverWait的具体使用可以参考这篇博客:webDriver使用
下面介绍下三种等待使用的场景:
强制等待:
1, 设置等待几秒,程序就会等待几秒;
2、一般用于智能等待不能完成的操作;
3、强制等待最简单,但是效能最低;
4、可以用在文件上传、js操作、以及与其他系统进行交互的地方;
隐式等待:
1、隐式等待是driver的方法,用法是driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
2、隐式等待是webdriver的服务,在接口自动化中是不能使用的;
3、初始化浏览器后,设置好,执行该代码后,对后续代码都会起到作用;
4、在每一个元素定位后到下一个元素定位前,如果定位不到,会有一个智能的等待,至多等待到设定的值,如果在设定时间内还未找到需要定位的元素,那么就会报异常;
5、最开始需要设置一个等待超时时间;
6、只能用来等待元素被加载(找元素的时候等待);
显示等待:
1、隐式等待不起作用的前提下,可以考虑显示等待;
2、比如元素置灰,倒计时按钮,在一段时间后,按钮才可被点击,那么需要使用显示等待;
3、打开新的窗口,需要使用显示等待;
4、显示等待针对单个元素起作用,隐式等待设置后,后面的所有代码都会起作用;