码迷,mamicode.com
首页 > 其他好文 > 详细

selenium--隐式等待

时间:2018-11-22 18:13:31      阅读:293      评论:0      收藏:0      [点我收藏+]

标签:size   通过   api   自动化测试   加载完成   就是   ack   def   style   


#隐式等待表示在自动化实施过程中,为查找页面元素或者执行命令设置一个最长等待时间,
#如果在规定时间内页面元素被找到或者命令被执行完成,则执行下一步,否则继续等待直到
#设置的最长等待时间截止
#用于测试的网址:
#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--隐式等待

标签:size   通过   api   自动化测试   加载完成   就是   ack   def   style   

原文地址:https://www.cnblogs.com/aanb/p/10002493.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!