UI自动化
UI自动化测试 只能做 B/S架构项目的自动化测试
1.安装
import os
import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
#获取当前路径
current_path=os.path.dirname(os.path.abspath(__file__))
print(current_path)
#获取webdriver路径
driver_path=current_path + '\\..\\driver\\chromedriver.exe'
chrome_service=Service(driver_path)
driver=webdriver.Chrome(service=chrome_service)
time.sleep(5)
2.浏览器获取类操作:
driver.get('https://www.baidu.com')
driver.minimize_window() #最小化
driver.maximize_window() #最大化
driver.back() #后退
driver.forward() #前进
driver.refresh() #刷新
driver.close() #关闭tab页
driver.quit() #退出浏览器
driver.fullscreen_window() #全屏
3.①识别元素的方法:
driver.find_element(By.ID,'kw').send_keys('gitee') #id属性识别
driver.find_element(By.ID,'su').click()
driver.find_element(By.NAME,'wd').send_keys('gitee') #name属性识别
driver.find_element(By.CLASS_NAME,'s_ipt').send_keys('gitee') #class属性识别
driver.find_element(By.LINK_TEXT,'贴吧').click() #只针对A标签生效 标签文本内容识别
②高级元素识别方法:
绝对路径法:以 / 开头,从网页的开头部分开始,描述路径直到元素的位置截止,如果遇到同层级有相同元素,用下标进行区分,下标从1开始,从上往下的元素识别法
简单获取绝对路径的方法:谷歌浏览器--右击元素--copy --copy full xpath
用法:
driver.find_element(By.XPATH,'/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input').send_keys('hello,world')
③相对路径法:以 // 开头,从元素位置为起点,开始往上层逐层去尝试识别元素,直到识别元素为止 从下往上查找定位元素
用法:
driver.find_element(By.XPATH,'//span[1]/input').send_keys('hello')
④元素属性法:可以使用元素的任何一个或多个属性进行元素识别
语法://标签名[ @属性名=属性值 ]
支持and or //标签名[ @属性名=属性值 and @属性名=属性值 ... ]
用法:
driver.find_element(By.XPATH,'//input[@name="wd"]').send_keys("hello")
driver.find_element(By.XPATH,'//input[@maxlength="255" and @id="kw"]').send_keys("hello")
⑤部分属性值识别:
用法:
driver.find_element(By.XPATH,"//a[starts-with(@href,'http://news')]").click() #starts-with 以...开头
driver.find_element(By.XPATH,"//a[contains(@href,'news')]").click() #contains 包含...内容
⑥利用元素的文本内容进行识别:Text() 表示获取元素的文本
用法:
driver.find_element(By.XPATH,"//a[text()='新闻']").click()
⑦Xpath支持正则:
用法:
driver.find_element(By.XPATH,"//*[@*='kw']").send_keys('hello')
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗