软件测试--selenium脚本编写注意点(一)

206 篇文章 7 订阅
93 篇文章 0 订阅

在通过python+selenium编写ui自动化脚本的时候,我遇到过很多需要注意的点,今天分享给大家一下。

一、睡眠时间

1、 强制等待时间 sleep()

必须导入time包后才可以使用,强制等待生效时间=页面跳转时间+sleep()设置休眠时间

强制等待时间使用语法:sleep(s) s表示时间,以秒为单位 例:sleep(2) 休眠2s

2、显示等待时间 WebDriverWait()
必须导入WebDriverWait包才可以使用,显示等待时间是针对单个元素生效的,当在规定时间内找到了对应元素,则执行下一步操作。

显示等待时间使用语法:

WebDriverWait(x,y,z).until(lambda x:x.find_element_by_元素定位方法(“对应元素方法的值”))

x表示网页窗口对象

y表示总等待时间(s)

z表示等待过程中,每隔多久查看一次元素,单位s

ntil是固定格式,可以理解为直到元素定位到为止,lambda x:x是一个匿名函数构建的方法,这里不太好理解可以理解为固定格式lambda总体就是网页窗口对象,而后面的.find_element_by_…就是援用之前的定位方法

3、隐式等待时间 implicitly_wait()
智能等待时间,是针对全局的元素都生效,不需要导入包。当在规定时间内找到了对应元素,则执行下一步操作。

隐等待时间使用语法: 网页对象名.implicity_wait()

from selenium import webdriver

from time import sleep #导入强制等待时间的包

from selenium.webdriver.support.ui import WebDriverWait #导入显示等待时间的包

dr = webdriver.Firefox()

dr.maximize_window()

dr.implicitly_wait(5) #隐式时间等待,智能等待,针对于全局

dr.get(“ https://www.baidu.com ”)

sleep(2) #休眠2s

a = WebDriverWait(dr,10,2).until(lambda x:x.find_element_by_id(“kw”)) #显示等待时间,针对于单个元素进行时间的等待

a.send_keys(“123”)

总结:只针对一个元素进行时间的等待,要是找不到该元素则会一直消耗完所有的等待时间才进行下一步

二、定位alert弹出框

alert弹出框包含三种:

alert 提醒对话框

confirm 确认对话框

prompt 要求用户输入,然后返回结果的对话框

1、定位方法
switch_to.alert:定位到alert/confirm/prompt

text:返回alert/confirm/prompt 中的文字信息。

accept:点击确认按钮。

dismiss:点击取消按钮,如果有的话。

send_keys:输入值,这个alertconfirm 没有对话框就不能用了,不然会报错。

2、alert用法

在这里插入图片描述

3、confirm用法

在这里插入图片描述

4、prompt用法
在这里插入图片描述

给大家推荐一个软件测试技术交流群:810119819 群友福利免费领取

愿你我相遇,皆有所获! 欢迎关注微信公众号:程序员阿沐

1.免费领取一份216页软件测试工程师面试宝典文档资料。
2.软件测试学习路线以及相对应的视频学习教程免费分享!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值