1、sleep()方法
Thread.sleep(60000)强制等待60s
2、隐式等待implicitlyWait()
driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS);
全局等待30s不管元素是否已经加载
1) 当使用了隐式等待执行测试的时候,如果WebDriver没有在DOM中找到元素,将继续等待,超出设定时间后则抛出找不到元素的异常
2)换句话说,当查找元素或元素并没有立即出现的时候,隐式等待将等待一段时间再查找DOM,默认的时间是0
3) 一旦设置了隐式等待,则它存在整个WebDriver 对象实例的声明周期中,隐式的等到会让一个正常响应的应用的测试变慢。
4) 它将会在寻找每个元素的时候都进行等待,这样会增加整个测试执行的时间。
implicitly_wait()方法比sleep() 更加智能,后者只能选择一个固定的时间的等待,前者可以在一个时间范围内智能的等待。

3、显示等待WebDriverWait()
WebDriverWait wait = new WebDriverWait(driver, 60);
WebElement e = wait.until(new ExpectedCondition<WebElement>(){ 
@Override 
public WebElement apply(WebDriver d) { 
return 
d.findElement(By.xpath("//android.widget.RelativeLayout[@index='2']")); 
}});
e.click();
WebDriverWait类的构造方法接受了一个WebDriver对象和一个等待最长时间(60秒)。然后调用until方法,其中重写ExpectedCondition接口中的apply方法,让其返回一个WebElement,即加载完成的元素,然后点击。默认情况下,WebDriverWait每500毫秒调用一次ExpectedCondition,直到有成功的返回,当然如果超过设定的值还没有成功的返回,将抛出异常。

转载于:https://www.cnblogs.com/strggle/p/6530403.html

Appium wait等待的三种方法相关推荐

  1. html手机不能自动播放音乐,解决移动端浏览器 HTML 音频不能自动播放的三种方法...

    由于Android,IOS移动端的浏览器以及微信自带的浏览器为了用户更好的体验,规定不自动播放音频视频,默认屏蔽了autoplay,如果要想达到自动播放效果,需要单独处理,方法有以下几种: 第一种:添 ...

  2. (PASS)JAVA数组去重 三种方法 (不用集合)

    第一种方法(只学到数组的看): 定义一个新的数组长度和旧数组的长度一样,存储除去重复数据的旧数组的数据和0, package demo01;import java.sql.Array; import ...

  3. python调用cmd命令释放端口_详解python调用cmd命令三种方法

    目前我使用到的python中执行cmd的方式有三种 使用os.system("cmd") 该方法在调用完shell脚本后,返回一个16位的二进制数,低位为杀死所调用脚本的信号号码, ...

  4. unix c线程同步的三种方法:互斥量、读写锁以及条件变-xhb8413-ChinaUnix博客

    unix c线程同步的三种方法:互斥量.读写锁以及条件变-xhb8413-ChinaUnix博客 unix c线程同步的三种方法:互斥量.读写锁以及条件变 2012-03-30 14:42:38 分类 ...

  5. Eclipse远程调试Java代码的三种方法

    Eclipse远程调试Java代码的三种方法, 第1种方法是用来调试已经启动的Java程序,Eclipse可以随时连接到远程Java程序进行调试, 第2种方法可以调试Java程序启动过程,但是Ecli ...

  6. t–sql pl–sql_T-SQL for DBA –使用T-SQL进行快速数据分析的三种方法

    t–sql pl–sql 背景 (Background) As a database administrator, sometimes you need to identify details abo ...

  7. Java 创建线程的三种方法比较

    在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述Java 创建线程的三种方法比较, 更多Java专业知识,广州疯狂jav ...

  8. Python selenium —— 一定要会用selenium的等待,三种等待方式解读

    发现太多人不会用等待了,博主今天实在是忍不住要给大家讲讲等待的必要性. 很多人在群里问,这个下拉框定位不到.那个弹出框定位不到-各种定位不到,其实大多数情况下就是两种问题:1 有frame,2 没有加 ...

  9. 什么是android应用程序未安装,Android 解决应用程序未安装的三种方法

    <Android 解决应用程序未安装的三种方法>由会员分享,可在线阅读,更多相关<Android 解决应用程序未安装的三种方法(3页珍藏版)>请在人人文库网上搜索. 1.解决安 ...

最新文章

  1. Java成员变量与类变量_Java基础随记2-成员变量和类变量的区别
  2. Aix netstat命令解析
  3. 用反射去构建一个对象吧!
  4. 现代密码学3.7--CCA安全
  5. 桌面云计算机的配置,Citrix桌面云实验环境的部署配置
  6. MySQL数据库解决方案
  7. 【智能制造】推进智能制造,他山之石可以攻玉!
  8. Axure RP 8.0 Mac中文破解版链接
  9. 《数字图像处理》冈萨雷斯版 读书笔记(一)
  10. c4d怎么导入图片描图建模,c4d怎么导入图片
  11. 机械设计:如何能看懂复杂机械图纸中的尺寸标注,赶快学起来
  12. 系统架构改进--多系统用户整合
  13. 图像质量评估---FID
  14. 猜拳php代码,微信猜拳游戏源码
  15. Android 自定义Dialog 里面有EditText控件点击关闭输入法失效的问题
  16. 车路协同信息交互技术要求第 1 部分:路侧设施与云控平台
  17. 桌面管理landesk太古案例
  18. Xgen Animwires 随笔01
  19. 详解ZStack高级功能--裸金属服务
  20. 安卓Android Studio Button按钮background不生效无效问题

热门文章

  1. mysql删除delete语句
  2. BeanFactory和ApplicationContext有什么区别?
  3. Navicat远程连接linux下mysql服务器1045错误解决办法在这儿
  4. Linux常用命令大全(新手入门)
  5. SQL中Group By的用法整理
  6. 今年最有档次的9个词!(不看后悔)
  7. mysql符合安可要求吗,安可是什么意思?演唱太过精彩,粉丝要求返场(再唱一个)...
  8. html自动滑动轮播代码,html+css+js 实现自动滑动轮播图
  9. Vs Code:Remote SSH
  10. 根据图片获得配色方案_配色系列(1)—从图片中获得配色灵感