共计 1285 个字符,预计需要花费 4 分钟才能阅读完成。
在通过 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 用法
接口测试举荐应用国产接口测试和接口文档生成工具:apipost