#三种appium设置等待时间的方法
#作者:Mr.Dantes 
#参考了网上的资料,然后进行了梳理
 
#第一种 sleep(): 设置固定休眠时间。 python 的 time 包提供了休眠方法 sleep() , 导入
time包后就可以使用 sleep()进行脚本的执行过程进行休眠。
#导入 time 包
import time
time.sleep()
 
#第二种 implicitly_wait():是 webdirver
提供的一个超时等待。隐的等待一个元素被发现,或一个命令完成。如果超出了设置时间的则抛出异常。
#implicitly_wait():隐式等待
#当使用了隐式等待执行测试的时候,如果 WebDriver没有在
DOM中找到元素,将继续等待,超出设定时间后则抛出找不到元素的异常
#换句话说,当查找元素或元素并没有立即出现的时候,隐式等待将等待一段时间再查找 DOM,默认的时间是0
#一旦设置了隐式等待,则它存在整个 WebDriver
对象实例的声明周期中,隐式的等到会让一个正常响应的应用的测试变慢,
#它将会在寻找每个元素的时候都进行等待,这样会增加整个测试执行的时间。
 
#implicitly_wait()方法比 sleep()
更加智能,后者只能选择一个固定的时间的等待,前者可以在一个时间
#范围内智能的等待。
self.driver.implicitly_wait()
 
#第三种  WebDriverWait():同样也是 webdirver
提供的方法。在设置时间内,默认每隔一段时间检测一次当前。页面元素是否存在,如果超过设置时间检测不到则抛出异常。
'''详细格式如下:
WebDriverWait(driver, timeout, poll_frequency=0.5,
ignored_exceptions=None)
driver - WebDriver 的驱动程序(Ie, Firefox, Chrome 或远程)
timeout - 最长超时时间,默认以秒为单位
poll_frequency - 休眠时间的间隔(步长)时间,默认为 0.5 秒
ignored_exceptions - 超时后的异常信息,默认情况下抛 NoSuchElementException
异常。
WebDriverWait()一般由 until()或 until_not()方法配合使用,下面是 until()和
until_not()方法的说明。
until(method, message=’’)
调用该方法提供的驱动程序作为一个参数,直到返回值不为 False。
until_not(method, message=’’)
调用该方法提供的驱动程序作为一个参数,直到返回值为 False。
lambda
lambda 提供了一个运行时动态创建函数的方法。'''
 
from selenium.webdriver.support.ui
import WebDriverWait
element = WebDriverWait(driver,
10).until(lambda x: x.find_element_by_id(“someId”))
is_disappeared = WebDriverWait(driver,
30, 1, (ElementNotVisibleException)).
until_not(lambda x:
x.find_element_by_id(“someId”).is_displayed())

Appium的三种等待时间设置方法的更多相关文章

  1. selenium的三种等待时间设置

    为了提高脚本的稳定性,我们需要在脚本中增加等待时间 第一种:强制等待 Thread.sleep():固定休眠时间设置,Java的Thread类里提供了休眠方法sleep,导入包后就能使用 sleep( ...

  2. (java)selenium webdriver学习---三种等待时间方法:显式等待,隐式等待,强制等待

    selenium webdriver学习---三种等待时间方法:显式等待,隐式等待,强制等待 本例包括窗口最大化,刷新,切换到指定窗口,后退,前进,获取当前窗口url等操作: import java. ...

  3. httpClient中的三种超时设置小结

    httpClient中的三种超时设置小结   本文章给大家介绍一下关于Java中httpClient中的三种超时设置小结,希望此教程能给各位朋友带来帮助. ConnectTimeoutExceptio ...

  4. 同源策略(same-origin policy)及三种跨域方法

    同源策略(same-origin policy)及三种跨域方法 1.同源策略 含义: 同源是指文档的来源相同,主要包括三个方面 协议 主机 载入文档的URL端口 所以同源策略就是指脚本只能读取和所属文 ...

  5. .Net MVC 导入导出Excel总结(三种导出Excel方法,一种导入Excel方法) 通过MVC控制器导出导入Excel文件(可用于java SSH架构)

    .Net MVC  导入导出Excel总结(三种导出Excel方法,一种导入Excel方法) [原文地址] 通过MVC控制器导出导入Excel文件(可用于java SSH架构)   public cl ...

  6. Java中httpClient中三种超时设置

    本文章给大家介绍一下关于Java中httpClient中的三种超时设置小结 在Apache的HttpClient包中,有三个设置超时的地方: /* 从连接池中取连接的超时时间*/ ConnManage ...

  7. JSON三种数据解析方法(转)

    原 JSON三种数据解析方法 2018年01月15日 13:05:01 zhoujiang2012 阅读数:7896    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blo ...

  8. Selenium自动化测试脚本中三种等待时间简介

    为了提高脚本的稳定性,我们需要在脚本中增加等待时间 第一种:强制等待 Thread.sleep():固定休眠时间设置,Java的Thread类里提供了休眠方法sleep,导入包后就能使用 sleep( ...

  9. selenium的三种等待时间

    //隐式等待(20秒以内没哥一段时间就会去找元素,如果没找大也不会报错,过了20s才会报错) //driver.manage().timeouts().implicitlyWait(20, TimeU ...

随机推荐

  1. wpf学习之(IValueConverter)

      学习IValueConverter的使用 public class StatuToNullableBoolConverter : IValueConverter { /// <summary ...

  2. 【软件使用心得】Quartus和ISE调用Synplify进行综合的问题

    分别尝试采用Quartus和ISE调用第三方综合软件Synplify进行综合. [软件版本] Quartus II 13.0 (SP).ISE 14.4 .Synplify 201303. [问题描述 ...

  3. python3爬虫03(find_all用法等)

    #read1.html文件# <html><head><title>The Dormouse's story</title></head># ...

  4. UML中类图(Class Diagram)的关系整理

    什么是UML类图? 类图显示了一组类.接口.协作以及他们之间的关系.在UML中问题域最终要被逐步转化,通过类来建模,通过编程语言构建这些类从而实现系统.类加上他们之间的关系就构成了类图,类图中还可以包 ...

  5. Payoneer个人账户注册申请教程

    1)照牛排于2013年末写的<免费申请Payoneer万事达预付卡+美国银行账号教程>非常详尽,网友纷纷转载,但生命在于折腾,Payoneer官网几经改版,自2015年3月推出无卡账户以来 ...

  6. 您H1B身份的申请或H1B延期的申请提交对地方了吗?

    由于H1B配额的短缺,任何关于移民局对H1B申请的改动对马上要申请H1B的外国学生或专业人士来说都很重要.美国移民局在2007年3月5号发布了关于更改接收H1B身份申请或H1B延期申请的新政策. 申请 ...

  7. 项目移动后报error LNK1123

    VS20101.解决方案窗口 项目|项目属性|配置属性|清单工具|输入和输出|嵌入清单 “是”改为“否”:2.项目|项目属性|配置属性|连接器|清单文件|嵌入清单 “是”改为“否”:3.对于64位的操 ...

  8. Win7系统如何设置FTP详细过程

    1.安装FTP组件 点击:控制面板—>程序和功能—>打开或关闭Windows功能.勾选“FTP服务器”及“FTP服务”“FTP扩展性”,点击“确定”,安装FTP组件. 2.添加FTP站点 ...

  9. python_23_tuple

    #元组只能统计和获取下表,不能插入之类的.元组和列表差不多,也是存一组数,只是它一旦创建,便不能再修改,所以又叫只读列表 names=('QiZhiguang','LiuGuannan','Liang ...

  10. Bootstrap 历练实例 - 折叠(Collapse)插件事件

    事件 下表列出了折叠(Collapse)插件中要用到的事件.这些事件可在函数中当钩子使用. 事件 描述 实例 show.bs.collapse 在调用 show 方法后触发该事件. $('#ident ...