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')
标签:keys,元素,driver,send,element,UI,自动化,find From: https://www.cnblogs.com/doudouzizi/p/17161753.html