ui自动化
一.ui自动化的概念
自动化测试就是通过代码或者是工具模拟人的行为来进行对WEB(APP)来进行操作。
selenium:是WEB的UI测试框架,可以和主流的编程语言(Python,Java,Net,PHP,JavaScript)整合来测试WEB系统,同时也是支持主流的浏览器(IE,Firefox,Chrome)。Selenium通过driver的驱动方式来操作浏览器,对浏览器进行各种交互式的验证(点击,输入,下拉框选项。。。)
1.1selenium环境搭建步骤:
a、按照selenium :pip install selenium
b、安装Chrome浏览器
c、下载driver的驱动,并且把数据配置到path的环境变量
1)、driver的驱动要与浏览器的版本完全匹配(99%)
2)、把driver的应用程序放在python的安装目录下
(可参考该链接进行操作:chromedriver下载与安装方法,亲测可用_zhoukeguai的博客-CSDN博客_chromedriver)
谷歌插件chromdriver地址:CNPM Binaries Mirror (npmmirror.com)
1.2八大元素定位
在selenium框架中,操作元素定位使用的类是By,里面方法有8种,那么也就是说,定位页面的元素属性方法有8种,分别是:
1 """引入selenium自动化测试工具,添加webdriver方法和By方法 2 from selenium import webdriver 3 from selenium.webdriver.common.by import By
1,ID:类似身份证,在前端中,规定id为唯一性
driver.find_element(By.ID,'kw').send_keys("填入的信息")
2,NAME:类似于人名
driver.find_element(By.NAME,'DW').send_keys("填入的信息")
3,CLASS_NAME:class指定元素的类名
driver.find_element(By.CLASS_NAME,'kw')
4,TAG_NAME:通过元素的签名来定位
list1=driver.find_elements_by_tag_name('input')
list1[7].send_keys('4399')
t.sleep(5)
5,XPATH:基于路径

绝对路径方式:/开头为绝对路径
/html/body/div[1]/div[2]/div[5]/div[1]/div/form/span[1]/input
相对路径方式://为相对路径
//input
1.相对路径+索引定位:定位一个标签后,往上一直找,找到一个唯一的标签后(Ctrl+f键进行//查找,如//form),进行下级的索引定位,直到找到所要的元素
//form/span[1]/input
2.相对路径+属性定位:直接用相对路径,然后找到里面的唯一的属性,然后去呼叫该属性
//input[@class='s_ipt']
3.相对路径+通配符定位:复制下来的路径地址//*[@id="kw"]--->//*[@id='kw']
//*[@class='s_ipt'] 或 //*[@*='s_ipt'] 搜索全部查找到s_ipt
注:复制xpath方式经常出错,不是万能的
4.相对路径+部分属性值定位:
以开头: //input[starts-with(@class,'s_ipt')] 查找属性以什么开头
以结尾: //*[substring(@class,2)='_ipt'] 查找所有,截取该属性从第二个字符开始后的值为xxx
包含: //*[contains(@autocomplete,'of')] 查找所有,属性包含文本内容
5.相对路径+文本定位
//span[text()='按图片搜索']
当id为动态的时候,使用full xpath
driver.find_element(By.XPATH,'kw')
6,LINK_TEXT:超链接
driver.find_element(By.LINK_TEXT,'视频')
7,PARTIAL_LINK_TEXT:超链接的补充
driver.find_element(By.PARTIAL_LINK_TEXT,'视频')
8,CSS_SELECTOR:基于样式
css方法时查看对应属性

driver.find_element(By.CSS_SELECTRO,'kw')

浙公网安备 33010602011771号