UI自动化
selenium
研发效能 可以通过技术的手段来提高测试效率
自动化测试的分类: UI自动化测试(前端自动化测试)-->selenium(框架&库&工具) API自动化测试 单元自动化测试
服务端测试开发领域(架构) 大数据测试开发领域 算法测试开发领域(离散数学,线性代数) 专项测试开发领域
功能测试---》自动化测试---》测试开发(前端&架构&MQ&容器化)--->功能测试 测试开发=测试思维+开发的技术+质量管理体系
自动化测试:
可以理解为通过一定的技术手段,操作机器来得到人的模拟操作
目的&意义:
随着产品的完善,需要回顾验证的测试点越来越多,这个时候我们可以通过自动化测试的技术的手段,把 需要回归的测试点中,可以使用自动化测试实现的部分实现,那么这样,我们需要回归测试的点就会减少,已实现的 部分可以一劳永逸的执行。
环境搭建步骤: 1、安装selenium的第三方的库,pip3 install selenium
2、安装chrome的浏览器 https://www.google.cn/chrome/index.html
3、下载浏览器对应的驱动

下载浏览器对应的驱动

找到自己浏览器的版本

在http://chromedriver.storage.googleapis.com/这里找到自己的版本

打开后找到自己需要的下载解压到Python的目录下

打开显示

就说明安装好了。
元素定位
元素定位从大的分类而言,分为两种:
1、单个元素的定位
2、多个元素的定位
当元素属性的ID,name等完全一致的时候,那么这个时候,你发现无法使用
单个元素定位的方式来解决,那么可以使用多个元素定位的方式来进行
解决。思路:
获取元素的属性,其实是一个列表,看我们被定位的目标属性是在
第几位,那么就使用索引。
右击检查得到下图获取我们需要的信息

获取到我们需要的信息后
from selenium import webdriver import time as t #指定被测的浏览器,并对webdriver进行实例化 driver=webdriver.Chrome() #导航到被测的网址 driver.get('http://www.baidu.com/') 被测的网址 t.sleep(2) driver.find_element_by_id('kw').send_keys('') 上一步得到的信息,这里可以是ID,name或者class t.sleep(5) driver.find_element_by_id('su').click() t.sleep(15) driver.quit()
如果上面得到的信息无法定位这时就用XPath(有数字、空格都不行),获取方法:

右击选择Copy-->CopyXPath
driver=webdriver.Chrome() #导航道被测的网址 driver.get('http://www.baidu.com/') t.sleep(2) driver.find_element_by_xpath('//*[@id="kw"]').send_keys('') t.sleep(5) driver.find_element_by_xpath('//*[@id="su"]').click() t.sleep(15) driver.quit()
当获取到的ID,name class和XPath都无法进行定位时,就使用css

当XPath有数字、空格都无法定位,这时要使用fullXPath
获取到css
driver=webdriver.Chrome() #导航道被测的网址 driver.get('http://www.baidu.com/') t.sleep(2) driver.find_element_by_css_selector('#kw').send_keys('') t.sleep(5) driver.find_element_by_css_selecto('#su').click() t.sleep(15) driver.quit()
超链接
精确
driver=webdriver.Chrome() #导航道被测的网址 driver.get('http://www.baidu.com/') t.sleep(2) driver.find_element_by_link_text('新闻').click() t.sleep(15) driver.quit()
模糊
driver=webdriver.Chrome() #导航道被测的网址 driver.get('http://www.baidu.com/') t.sleep(2) driver.find_element_by_partial_link_text('新').click() t.sleep(15) driver.quit()
tag

右击检查打开源代码可以发现搜索输入框input是第8位所以它的索引位置是7,现在通过索引来进行定位代码为:
1 driver=webdriver.Chrome() 2 driver.get('http://www.baidu.com/') 3 driver.maximize_window() 4 t.sleep(2) 5 tags=driver.find_elements_by_tag_name('input') 6 tags[7].send_keys('第二搞峰') 7 t.sleep(2) 8 driver.find_element_by_id('su').click() 9 t.sleep(1) 10 driver.quit()

浙公网安备 33010602011771号