selenium--隐式等待
Posted aanb
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium--隐式等待相关的知识,希望对你有一定的参考价值。
#隐式等待表示在自动化实施过程中,为查找页面元素或者执行命令设置一个最长等待时间,
#如果在规定时间内页面元素被找到或者命令被执行完成,则执行下一步,否则继续等待直到
#设置的最长等待时间截止
#用于测试的网址:
#http://www.sogou.com
#调用API的实例代码:
def test_implictWait(self):
#导入异常类
from selenium.common.exceptions import NoSuchElementException,TimeoutException
#导入堆栈类
import traceback
from selenium import webdriver
url = "http://www.sogou.com"
#访问sogou首页
self.driver.get(url)
#通过driver对象implicitly_wait()方法来设置隐式等待时间,最长时间10秒
self.driver.implicitly_wait(10)
try:
#查找sogou首页的搜索输入框页面元素
seachBox = self.driver.find_element_by_id("query")
seachBox.send_keys(u"光荣之路自动化测试")
#查找sogou首页搜索按钮页面元素
click = self.driver.find_element_by_id(‘stb‘)
#单击搜索按钮
click.click()
except (NoSuchElementException,TimeoutException) as e:
#打印异常的堆栈信息
traceback.print_exc()
隐式等待的好处是不用像强制等待(time.sleep(n))方法一样死等固定时间n秒,可以在一定程度上提升测试用例的执行率。
不过这种方法也存在一个弊端,那就是程序会一直等待整个页面加载完成,也就是说浏览器窗口标签栏中不再出现转动的小圆
圈,才会继续执行下一步,不如某些时候想要的页面元素早就加载完成才会继续执行下一步,这无形中加长了测试用例的执行
时间
注意:隐式等待时间只需要被设置一次,然后它将在driver的整个生命周期都起作用。
摘自《Selenium WebDriver 3.0自动化测试框架实战指南》--吴晓华 王晨昕 编著
以上是关于selenium--隐式等待的主要内容,如果未能解决你的问题,请参考以下文章