4-UI自动化-selenium三大等待操作

上篇介绍了3-UI自动化-八大元素定位,xpath定位方式和相关的常问面试题
本篇来学习三大等待方式

♡ \color{red}{\heartsuit}

在UI自动化测试中,脚本一定要加入等待来增强脚本的健壮性。因为基本上会遇到环境不稳定,网络慢的情况,如果不做任何等待处理的话,代码会由于没有找到元素而报错。另外,一种情况就是页面使用ajax异步加载机制。这时我们就要用到 wait。

selenium三大等待方式

timd.sleep(强制等待)
implicitly_wait(隐式等待)
WebDriverWait(显式等待)

强制等待timd.sleep

强制等待,最简单了,直接time.sleep(3),强制等待3s。哪里需要等待就在哪里设置

代码如下

import time

from selenium import webdriver
from selenium.webdriver.common.by import By


class WaitSample:
    def __init__(self):
        self.driver = webdriver.Firefox()
        # 在打开浏览器驱动等待3s,再去输入url
        time.sleep(3)
        self.driver.get('http://baidu.com')

    def force_wait(self):
        """强制等待"""
        # 输入关键词查询
        self.driver.find_element(By.ID, 'kw').send_keys('强制等待selenium')
        # 在点击百度一下前先等待2s
        time.sleep(2)
        self.driver.find_element(By.ID, 'su').click()
        # 在输出浏览器的标题前,先等待3s,防止浏览器还未
        time.sleep(3)
        print(self.driver.title)
        # 关闭窗口
        self.driver.close()
        # 退出浏览器
        self.driver.quit()
if __name__ == '__main__':
    ws = WaitSample()
    # 强制等待
    ws.force_wait()

运行后控制台会输出浏览器标题
在这里插入图片描述

隐式等待implicitly_wait

implicitly_wait(隐式等待),每个元素在隐性等待设定好的等待时间上限内存在都不会报错,超出时间
上限就会抛超时异常。

import time

from selenium import webdriver
from selenium.webdriver.common
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值