WEB自动化_强制等待与智能等待(显示等待、隐式等待)

本文详细探讨了WEB自动化测试中的等待策略,包括强制等待和智能等待。介绍了强制等待的基本用法,以及智能等待中的隐式等待和显示等待的概念。通过案例展示了智能等待在实际测试中的应用,并提供了显示等待的封装方法。
摘要由CSDN通过智能技术生成

WEB自动化_强制等待与智能等待(显示等待、隐式等待)

1、应用场景:

大多数web应用程序都是使用Ajax和JavaScript开发的。当前浏览器加载页面时,我们想要与之交互的元素可能尚未被加载出来。
此刻,不仅难以识别元素,而且很容易定位不到元素,抛出异常。
使用等待可以解决这个问题。

2、强制等待:

time.sleep(5)
强制等待5秒,如果在第3秒找到了元素,还会继续等第4第5秒。

3、智能等待->隐式等待:

driver.implicitly_wait(3)  # 隐式等待

.

	设置一个超时时间。
	在这个时间内,不断寻找元素,超时找不到就报错timeout,超时前找到,就继续执行,而不会接着等待。
比如超时等待时间是5s,第3秒找到了,就会继续执行,而不等第4第5秒。

优点:
    1、使用简单,一般在创建 driver 之后设置一个隐式等待,设置后的元素定位全部都会进入隐式等待的逻辑(一次设置,终生有效)。

缺点:
    1、无法为指定元素设置等待,需要页面完全加载,相对浪费时间,降低脚本执行速度。每一次元素定位,都会进入隐式等待的逻辑,会降低脚本执行速度。
	"""
		from selenium import webdriver   # 申明
		
		# 创建浏览器驱动对象
		driver = webdriver.Chrome("D:\\chromedriver-V88.exe")
		# 智能等待_隐性等待
		driver.implicitly_wait(3)
		# 访问网址
		driver.get("http://127.0.0.1:8088/")
	"""

4、智能等待->显示等待:

   设置一个超时时间和一个元素查找条件,间隔时间默认0.5秒。
   在这个时间内,不断寻找元素,超时找不到就报错timeout,超时前找到,就继续执行,而不会接着等待。
比如超时等待时间是5s,第3秒找到了,就会继续执行,而不等第4第5秒。

    优点:
        1、不需要等页面完全加载,想对节省时间。
        2、可以指定需要等待的元素,对一些加载缓慢的元素,可以为其增加等待时间。
    缺点:
        1、使用相对复杂,代码量多,只对申明了显示等待的元素有效,每次等待都需要再写一遍代码。

4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卢同学.

但行好事 莫问前程

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值