| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> 软件测试(自动化之web端自动化5——selenium等待机制) -> 正文阅读 |
|
[开发测试]软件测试(自动化之web端自动化5——selenium等待机制) |
上节讲了关于元素交互的几个基础操作。然后我们在不断的模拟用户交互的时候,有时会遇到一些问题。比如,点击刷新按钮后,页面刷新较慢,刷新的过程中,代码无法识别到元素,产生相关的报错。 这种场景我们通常是采用“等待”的方式去完成的。 这里我们介绍三种等待方式: 一、强制等待所谓强制等待,就是指定一个时间,我们去固定这个时间等待,等待时间完成后,再进行下一步。 比如这里的 time.sleep()方法。 这个是为了方便我截图,在完成交互后,等待2s,展示页面,再去关闭会话。 上面介绍的强制等待呢,在某些场景是不太好用的。 比如一个页面刷新,可能要1-10s,你不知道它每次到底多少秒,为了保证脚本顺利跑完不报错,你可能会设置成最大值10s。那么就会导致脚本的运行效率极低,因为你每次都是按最大等待时长去进行等待的。 这里官方提供了2种等待方式——显式等待、隐式等待,可以在元素刷新出现后,停止等待,直接运行接下来的操作。 二、显式等待WebDriverWait() 它允许您的代码暂停程序执行,或冻结线程,直到满足通过的 条件 。 这个条件会以一定的频率一直被调用,直到等待超时。 默认检测频率为0.5s,默认抛出异常为:NoSuchElementException。
driver:浏览器驱动 配合until()方法使用 WebDriverWait(driver, 超时时长, 调用频率, 忽略异常).until(可执行方法, 超时时返回的信息)
这里的visibility_of_element_located ,指元素存在且可见 三、隐式等待 implicitly_wait() 设置的全局等待,对页面中的所有元素设置加载时间,如果超出了设置时间的则抛出异常。隐式等待可以理解成在规定的时间范围内,浏览器在不停的刷新页面,直到找到相关元素或者时间结束。 driver.implicitly_wait(10) 设置全页面超时时间为10秒 (警告:?不要混合使用隐式和显式等待。这样做会导致不可预测的等待时间。例如,将隐式等待设置为10秒,将显式等待设置为15秒,可能会导致在20秒后发生超时。) |
|
开发测试 最新文章 |
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:43:59- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |