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')
 
 
posted @ 2022-08-30 16:14  翻翻呀  阅读(398)  评论(0)    收藏  举报