等待的作用:
在实际自动化实现过程中,都会添加等待来完善自动化测试的代码。自动化测试,是交由机器来执行的一种测试手段,用于提升测试效率,意味着每一次的自动化测试都需要有非常高的成功率,才可以达到提升效率的作用。

在自动化测试中,其实就是通过代码来执行测试的流程,也就意味着机器自己对页面元素来进行操作,如果说因为页面加载速度过慢,导致元素无法被第一时间找到,则报错,停止本次自动化测试,通过添加等待的方法,让代码再运行时,会进行等待页面加载的操作,以便于更好的进行元素查找。

我们平常用到的有三种等待方式:
1、强制等待
2、隐式等待
3、显示等待

强制等待:
第一种也是使用最简单的一种,办法就是强制等待,强制让浏览器等待x秒,不管当前操作是否完成,是否可以进行下一步操作,都必须等x秒时间。
使用方法:sleep(x),等待x秒后,进行下一步操作。在python中,是基于time模块的sleep方法来实现。
缺点:
1、不能准确把握需要等待的时间(有时操作还未完成,等待就结束了,导致报错;有时操作已经完成了,但等待时间还没有到,浪费时间)
2、如果在用例中大量使用,会浪费不必要的等待时间,影响测试用例的执行效率。
优点:
1、使用简单,可以在调式时使用。

示例:

from selenium import webdriver
import timedriver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
# 强制等待3秒
time.sleep(3)
driver.quit()

selenium三种等待时间之强制等待相关推荐

  1. selenium三种等待时间之显示等待

    显示等待 显示等待,对指定元素进行等待的一种等待方式.通过设置最大等待时间.检查频率,对页面的元素来进行等待,一旦找到元素,则停止等待,进入后续步骤. 它主要的意思就是:程序每隔x秒看一眼,如果条件成 ...

  2. selenium三种等待时间之隐式等待

    隐式等待: 其设置了一个最长等待时间,如果在规定时间内网页加载完成,则执行下一步,否则一直等到时间结束,然后执行下一步操作. 使用方法:implicity_wait(10),在x时间内,页面加载完成, ...

  3. python三种等待方式_Python selenium 三种等待方式详解

    本文摘自:http://blog.csdn.net/huilan_same/article/details/52544521 发现太多人不会用等待了,博主今天实在是忍不住要给大家讲讲等待的必要性. 很 ...

  4. 三种等待时间原理及场景

    让我们来探讨探讨三种等待时间原理及场景 在使用web端自动化实施的过程中,常常会遇到页面还没加载完毕,脚本已经执行了,导致用例执行失败,为了确保页面加载完毕后再执行下一个脚本,我们通常采用设置等待的时 ...

  5. selenium 三种断言以及异常类型

    selenium 三种断言以及异常类型 参考文章: (1)selenium 三种断言以及异常类型 (2)https://www.cnblogs.com/xiaobucainiao/p/6186826. ...

  6. python的等待代码是什么_Python selenium 三种等待方式详解

    1.目的背景 解决问题:下拉框定位不到.弹框定位不到-各种定位不到,其实大多数情况下就是两种问题:1 有frame,2 没有加等待. 原因:代码运行速度快,而浏览器加载渲染速度慢 解决办法:加等待,目 ...

  7. selenium的三种等待时间

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

  8. python selenium 三种等待方式详解

    引言: 当你觉得你的定位没有问题,但是却直接报了元素不可见,那你就可以考虑是不是因为程序运行太快或者页面加载太慢造成了元素不可见,那就必须要加等待了,等待元素可见再继续运行程序: 正文: 1.强制等待 ...

  9. python selenium 等待页面加载_python selenium 三种等待方式详解(实战常用)

    引言: 当你觉得你的定位没有问题,但是却直接报了元素不可见,那你就可以考虑是不是因为程序运行太快或者页面加载太慢造成了元素不可见,那就必须要加等待了,等待元素可见再继续运行程序: 注:当使用该放发的时 ...

最新文章

  1. Excel事半功倍的应用
  2. bzoj 1233 or 3549
  3. Mysql清理binlog日志
  4. java三点确定圆弧_圆弧方向判断方法和三点确定一个圆的计算方法
  5. PHP添加php-java-brideg模块(ubuntu环境)
  6. 配置hosts快速访问GitHub
  7. 024、JVM实战总结:动手实验:线上部署系统时,如何设置垃圾回收相关参数?
  8. jpa 查询编写sql_学习编写基本SQL查询
  9. 带你彻底弄明白!javaswitchcase语句例子
  10. Some thoughts on dfs
  11. Tensorflow的可视化框架:TensorBoard
  12. RFID将成为物联网革命的首战
  13. 机器学习导论(一)绪论
  14. 圆你的大厂梦!字节跳动Java高频面试题真题一二三面常见问题
  15. C语言网络编程实战之线上五子棋游戏(二)
  16. 唐诗三百首的爬取以及出现最多字数的统计
  17. HDU 6208 The Dominator of Strings [AC自动机]
  18. vue调用本地摄像头实现拍照
  19. 董卫凤:不服输是成功最好的催化剂
  20. 自动调度属于计算机领域的,调度自动化

热门文章

  1. Linux系统高树攀登之路
  2. $STRM 空投和 Strategy Stakers 代币分配
  3. 一个女程序员twitter上发了一条tweet
  4. 苹果系统服务器状态在哪里,详细解读iPhone上的系统定位服务
  5. 虚拟域服务器拒绝连接,远程winrm上的“访问被拒绝”
  6. 推荐5款让你相见恨晚的神级软件,把把直击心灵
  7. PyQt(Python+Qt)学习随笔:QListView的itemAlignment属性
  8. 划一划新闻作手机端最简洁的新闻聚合网站
  9. C#实现自动更新之(程序升级包制作)
  10. Win10:鼠标右键如何添加快捷关机、注销等功能