自动化测试
Python自动化测试学习路线
第一步:先学python ——- python不过关,别谈自动化。
第二步:Selenium框架
第三步:unittest框架
第四步:项目
第五步:Robot Framwork框架
如果只学习Robot Framwork,通过这个来做自动化,别以为不要学习Selenium跟python了, 因为Robot Framework中的关键字可能不够用,不能满足你们的需求,那么我们需要自定义关键字,这个时候就必须自己得通过python+selenium来编写了
学习路径参考https://www.jianshu.com/p/5b25b37f1556
软件开发流程
需求分析—–>架构模块设计—–>编码—–>单元测试—–>集成测试—–>系统测试—–>验收
测试分类
自动化测试优点
自动化测试适宜场景
- 任务测试明确,不会频繁改动
- 软件需求变更少
- 项目周期长,测试脚本可以复用
常用测试工具
使用selenium
使用selenium中的webdriver模块对浏览器进行操作
from selenium import webdriver
b = webdriver.Firefox() c = webdriver.Chrome()
打开浏览器b.get('http://qqlblog.cc')
打开一个网页b.title获取网站标题 b.current_url获取当前url b.maximize_window()最大化窗口
判断访问是否有效-
元素定位
-
元素操作的方式
b.back
回到上一页- 选中元素后,元素类型为webelement object。 通过. 获取属性参数
ele = b.find_element_by_class_name('s_ipt') ele.size # 获取选中元素的width和height ele.id # 获取元素id
- 针对a标签可以使用
ele = b.find_element_by_link_text('a标签字符串')
- 模糊匹配字符串标签
ele = b.find_element_by_partial_link_text('a标签字符串')
- 通过css查找元素
通过标签和属性选择器查找元素 ele = b.find_element_by_css_selector('input[id=\'search\']') # \为转译字符 ele = b.find_eleemnt_by_css_selector('input[type="text"]') ele = b.find_element_by_css_selecotr('img[alt="图片描述"]')
xpath获取元素
ele = b.find_element_by_xpath('//*') 全局获取所有元素
ele.tag_name 获取当前元素标签名
ele = b.find_eleemnt_by_xpath('//*[count(input)=2]') 全局获取包含2个input标签的元素
ele = b.find_eleemnt_by_xpath('//ul/li[1]') 获取ul标签下第一个li标签(下标从1开始)
1.查找最后匹配元素一个:[last()]
ele = b.find_element_by_xpath('//*[contains(local-name(),"i")][last()]')
2.对元素位置进行切换:[last()-1] last返回最大索引可进行运算
ele = b.find_element_by_xpath('//*[contains(local-name(),"i")][last()-1]')