首页 > 其他分享 >UI自动化

UI自动化

时间:2023-02-27 20:36:50浏览次数:43  
标签:keys 元素 driver send element UI 自动化 find

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

相关文章