ui自动化测试,页面方法的使用
悬浮下拉框
的设置选择
下拉框的选择
显性等待
在UI的自动化测试中,经常会由于网络加载慢的问题导致资源加载不出来,从而影响测试的效率,之前我们对这样的处理方案是使用了time库里面的sleep()方法来休眠几秒钟,但是这样的方式毕竟不是很好的解决方案。在UI自动化测试中,关于等待的部分,主要汇总为如下三点,具体如下:
1、固定等待,也就是使用sleep()方法
2、隐式等待,使用到的方法是implicitly_wait的方法,可以把它理解为设置最长等待时间
3、显式等待,主要指的是程序每隔一段时间执行自定义的程序判断条件,如果判断成立,程序就会继续执行,那么如果判断失败,就会报TimeOutExpection的异常信息
双击,
double_click一般主要应用于数据的交互方面,比如添加用户姓名的按钮,假设程序规定用户名称是唯一的,那么双击后是否插入了两条用户名称一样的信息了,这就需要来验证,提交数据后,然后在数据列表中使用用户名称来查询,查看是否存在两条数据,一般而言,前后端的程序员都是会处理这些的,但是作为测试我们还是需要验证这些测试场景。
ActionChains类的方法
行动链
提示框
双击,右击
双击用到行动连,提示框用到Alert的类
右击用到的也是行动连
#handle手柄,current当前,frame框架
# 下载安装好浏览器驱动
from selenium import webdriver #导入浏览器驱动
import time as t
driver=webdriver.Chrome()
#获取当前测试地址 current-url
获取当前页面资源(源代码)',driver.page_source
assert driver.current_url.endswith('hao123.com/')==True #断言当前网址是以(‘hao123’)结尾为真。
# print(driver.title) #打印网址标题
assert driver.title=='百度一下,你就知道' #断言网址标题正确
driver.find_element_by_link_text('企业邮箱').click() 超链接直接点进去
driver.switch_to.frame('login_frame') #移动到框架里,这里是默认根据id移动的
driver.refresh() #刷新
基础关键字
assert 断言
current-url #获取当前测试地址
.page_source #当前页面资源(源代码)
assert driver.current_url.endswith()==True 断言当前网址是以()结尾。
driver.title 网址标题
link_text 超链接
switch_to.frame 移动到框架
refresh() #刷新
driver.window_handles 所有窗口
driver.current_window_handle 当前窗口
attribute 属性
网页切换时,如果不知道下一个页面的名字,就得用for x in 循环 。current只能切换到当前页面,没办法切换到下一页面
driver.back() 后退
driver.forword ()前进
so.clear清空(so是给定位的文本框输入信息)
webdriverl浏览器属性的方法应用
get_attribute():获取元素属性的值
获取当前页面的资源 page_source
driver.name获取执行的浏览器名字
is_displayed()是否可见
is_enabled():是否可编辑
is_selected()针对单选按钮是否勾选
action_chains行动链
Selectl类的方法,选择框
首先是导入方法类么
Alert类的方法,提示框
from selenium.webdriver.common.alert import Alert
在Alert的类里面,涉及到的方法以及方法的作用主要汇总为如下:
-
text:获取弹出框的文本信息
-
accept是接受Confirm弹出框
-
dismiss是拒绝接受Confirm弹出框
-
send_keys是在Prompt消息对话框里面输入想要输入的内容
ActionChains类的方法,鼠标
from selenium.webdriver.common.action_chains import ActionChains
nb.context_click(xingneng).perform()
context_click 右击
obj.double_click(so).perform()
double_click 双击
context上下文 implicitly_wait
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)