
1.准少劳动力
2.提高效车批量生产
3.提高产品质曼
4.规格统一标准
1.回归测试[重点](分为bug回归测试,新版本回归测试)
2.压力测试(多用户同时 *** 作的临界点)
3.兼容性(浏览器、分辨率、 *** 作系统)
4.提高测试效率
1.较少的时间内运行更多的测试用例;
2.自动化脚本可重复运行;
3.减少人为的错误;
4.克服手工测试的局限性;
1.自动化测试可以完全替代手工测试;
2.自动化测试一定比手工测试厉害;
3.自动化测试可以发掘更多的BUG;
4、自动化测试适用于所有功能;
什么web项目适合自动化?
1.需求变动不频繁
2.需要回归测试项目
3. 项目周期长
web自动化开始进行阶段?
手工测试之后(1.时间问题2.功能不完善)
web自动化所属分类
1.黑盒测试(功能测试)
2、灰盒测试(接口测试)
3.白盒测试(单元测试)
提示;
1.以上分类为站在代码可见度上划分
2. web自动化司试属于黑盒测试
QTP是一个商业化的功能测试工具,收费,支持web,桌面自动化测试。
2. Selenium(本阶段学习)Selenium是一个开源的web自动化测试工具,免费,主要做功能测试。
3. Robot frameworkRobot Framework是一个基于Python可扩展地关键字驱动的测试自动化框架。
4 Selenium特点1.开源软件:源代码开放可以根据需要来增加工具的某些功能2.跨平台: linux、 windows、mac
3.支持多种浏览器:Firefox、Chrome、IE、Edge、opera、Safari等
4.支持多种语言:Python、Java、C#、JavaScript、Ruby、PHP等
5.成熟稳定:目前已经被google、百度、腾讯等公司广泛使用
6.功能强大:能够实现类似商业工具的大部分功能,因为开源性,可实现定制化功能
pip是一个通用的 Python包管理工具,提供了对Python包的查找、下载、安装、卸载的功能。
安装pip install selenium==3.14.1
卸载pip uninstall selenium
查看是否安装和版本pip show selenium
下载浏览器驱动谷歌:http://chromedriver.storage.googleapis.com/index.html?
将下载的对应版本的驱动的路径放到系统变量path中
Firefox 48以上版本
selenium 3.x + Firefox驱动(geckodriver)
驱动下载地址: https://github.com/mozilla/geckodriver/ releases
说明:指定系统搜案的目录dos命令默认搜索顺序:
1.检测是香为内部命令
2.检测是否为当前目录下可执行文件,检测path环境变量指定的目录
要使里rb自动化换作元素,必须首先找到此元素
3.2定位工具谷歌:f12性(开发者工具
3.3定位元素时依赖于件么?1.标签名
2.属性
3.层级
4.路轻
- id
- name
- class_name(使用元素的class属性定位)
- teg_ name(标签名称<标签名…/ > )
- link text(定位超连接a标签)
- partial_link_text(定位超链接a标签模糊;
- xpath(基于元素路径)
- css (元素选择器)
1.基于元素属性特有定位方式(idinamelclass_name)
2.基于元素标签名称定位: tag_name
3.定位超链接文本(1ink_text.partial_link_text)
4.基于元素路径定位(xpath)l
5.基于选择器(css)
说明:
1.通过元素的id属性定位,id一般情况下在当前页面中是唯一。
方法:
driver.find_element_by_id(id)
提示:元素必扬要有id属性。
说明:
1.通过元素的name属性定位,一般为重复
方法:
driver.find_element_by_name(name)
提示:元素必扬要有name属性。
说明:
1.通过元素的class_name属性定位,一般有多个
方法:
driver.find_element_by_class_name(name)
提示:元素必扬要有 class_name属性。
说明:是通过元素的标签名称来定位,标签名(查看元素时尖括号(<)紧挨着的单词或字母就是标签名)
标签名也就是元素名)
方法: driver.find_element_by_tag_name (“标签名”)注意:
1.如果页面中存在多个相同标签,默认返回第一个标签元素
说明:定位超链接标签
方法: driver.find_element_by_link_text ()
注意:
- link_text:只能使相精准匹配(a标签的全部文本内容)
partial_link text
说明:定位超链接标签
方法: driver.find_element_by_partial_link_text()注意:
1.可以使用精准或模糊匹配,如果使用模糊匹配最好使用能代表唯一的关键词2.如果有多个值,默认返回第一个值
driver.find_element_by_xpath()
Xpath常用的定位策略:1.路径
1).绝对路径:
语法:以单斜杠开头逐级开始编写,不能跳级。如: /htm1/body/div/p[1]/input
2).相对路径
语法:以双斜杠开头,双斜杠后边跟元素名称,不知元素名称可以使用 * 代替。
如: //input
// *
2.路径结合属性
语法:在xpath中,所有的属性必须使用@符号修饰如://* [@id='id值"]
3.路径结合逻辑(多个属性)
语法://* [ Gid=“id值” and 属性=·属性值]
4.路径结合层级
语法:// * [@id='父级id属性值"]/input
提示:
1.一般见识使用指定标签名称,不使用* 代替,效率比较慢。
2.无论是绝对路径和相对路径,/后面必须为元素的名称或者*
3.扩展:在工作中,如果能使用相对路径绝对不使用绝对路径
- //* [ text ()=‘xxx’]#定位文本值等于xxx的元素提示:—般适合p标签,a标签
- //* [ contains (@属性,‘xxx’)]#定位属性包含xxx的元素提示: contains为关键字,不可更改。
- //* [starts-with(@属性, ‘xxx’) ]#定位属性以xxx开头的元素
提示: starts-with为关键字不可更改
1.css一种标记语言,焦点:数据的样式。控制元素的显示样式,就必须先找到元素,在css标记语言中找元素使用css选择器;
2. css定位就是通过css选择器工具进行定位。
3.极力推荐使用,查找元素的效率比xpath高,语法比xpath更简单。方法:
driver.find element by_css_selector ()常用测试略:
1.id选择器
前提:元素是必须有id属性语法:#id如: #passwordA
2.class 选择器
前提:元素是必须有class属性语法:.class如: .telA
3.元素选择器
语法:element如: input
4.属性选择器
语法:[属性名=属性值]
5.层级选择器
语法:
1.p>input
2. p input
提示:>与空格的区别,大于号必须为子元素,空格则不用。
1.[属性^=‘开头的字母’]#获取指定属性以指定字母开头的元素
2.[属性$=‘结束的字母’]#获取指定属性以指定字母结束的元素
3.[属性*='包含的字母’j#获取指定属性包含指定字母的元素
方法: driver.find elements_ by xxx ()
返回结果:类型为列表,要对列表进行访问和 *** 作必须指定下标或进行遍历,〔下标从0开始]
方式:driver.find_element (By.xxx,‘value’)参数说明:
By.xxx :为By类的类型如:By.ID
value:元素的定位值如: “userA”
By类:需要导包位置:from selenium.webdriver.common.by import By
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)