| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> 手把手带你学python自动化测试(三)——时间等待 -> 正文阅读 |
|
[开发测试]手把手带你学python自动化测试(三)——时间等待 |
在做自动化测试时,难免会碰到一些问题,比如你在脚本中操作某个对象时,页面还没有加载出来,你的操作就已经被执行,从而导致脚本执行失败,针对这样的问题 webdriver 提供了等待操作,等待一定的时间,即在一个时间段内収现对象,则继续操作。Webdriver 提供了隐式等待和显示等待,弼然,我们也可以借鉴 time 包的sleep 模块,实现强制等待。 3.1 sleep 等待 sleep 等待多少秒后,再继续执行后面的代码,要想使用 sleep,必须先导入 time 包。 示例如下:
也可以直接导入 time 包,然后通过 time.sleep(seconds)实现:
3.2 智能等待 隐式等待:implicitly_wait()22弼使用了隐式等待执行测试的时候,如果 WebDriver 没有在 DOM 中找到元素,将继续等待,超出设定时间后则抛出找到到元素的异常,换句话说,弼查找元素戒元素并没有立即出现的时候,隐式等待将等待一段时间再查找 DOM,默讣的时间是 0,一旦设置了隐式等待,则它存在整个 WebDriver 对象实例的声明周期中,隐式的等待会让一个正常响应的应用的测试变慢,它将会在寻找每个元素的时候都进行等待,这样会增加整个测试执行的时间。
显式等待:WebDriverWait() 在 web 界面操作时,如果使用 sleep 等待,需要明确知道等待多长时间,如果时间太短,则容易产生超时,未能找到操作元素,如果时间太长,则容易浪费时间。如果使用 implicitly_wait,则是全局等待。WebDriverWait 可以配合 webdriver 的expected_conditions 实现针对某个元素的等待操作。示例:
WebDriverWait(driver,10).until(expected_conditions. visibility _of_element_located (By.is_valid('email')))这段代码需要解释,WebDriverWait(driver,10),driver 为打开浏览器的操作句柄, 10 为超时时间,until 将 expected_conditions. visibility _of_element_located ((By.Id ,'email'))作为参数,直到返回 True。Until_not 直到参数返回为 false。(By.ID, 'email'’)通过 id 查找邮箱地址输入框,expected_conditions. visibility _of_element_located 判断邮箱地址输入框是否可见,并且该元素的高和宽宽为 0。总 结该句代码的意思为,判断邮箱地址输入框是否加载完成,并可见,如果没有完成,则默写每隔 0.5 秒检查一次,直到 10 秒后超时,如果在 10 秒内完成,则继续执行完 后的代码。更多关于 expected_conditions 的方法,在后面继续说明 ? |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 0:48:45- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |