软件自动化测试就是通过测试工具或者其他手段,按照测试人员的预定计划对软件产品进行自动化测试,他是软件测试的一个重要组成部分,能够完成许多手工测试无法完成或者难以实现的测试工作,正确合理的实施自动化测试,能够快速,全面的对软件进行测试,从而提高软件质量,节省经费,缩短软件的发布周期。
1.自动化测试的好处:
缩短测试周期:计算机行业更新迭代快速,大量频繁的回归测试消耗时间,自动化测试能够将重复的实行交给计算机去做,加快测试速度
避免人出错:测试人员不可能持续高度集中,并且人类易受外界影响(头疼脑热,精神不振),可能会造成人为错误
测试信息存储:自动化测试将测试信息和数据储存在文件中,思路清晰明确,交接方便
轻易获取覆盖率:自动化测试能够解放测试人员,使测试人员能够有更多的精力做那些非重复性的工作
其他:自动化测试可以是实现自动或者定时执行
1.整体分类
(1)自动化功能测试
a.单元测试
b.功能测试
c.接口测试
(2)自动化性能测试
2.性能测试主要是使用测试工具
Loadrunner、Jmeter等,对软件进行压力测试、负载测试等等,因为这些无法用手工进行代替,所以必须自动化。为了测试一个web站点的服务能力,需要模拟上千上万的请求(比如打开浏览器访问站点),人的速度是远远达不到这样的操作的
1.使用条件
a.手动测试已经完成,后期再不影响进度的前提下逐渐实现自动化
b.项目周期长,重复性的工作都交给机器去实现
c.需求稳定,项目变动不大
d.自动化测试脚本复杂度比较低
e.可重复利用
2.使用场景
a.频繁的回归测试
b. 冒烟测试
c.传统行业需求变化不大,应用频繁
d.性能测试
1.常见的自动化web测试工具
a. QTP(收费):
QTP是Mercury公司的Quick Test Professional的简称,是一种自动测试工具
b. Selenium(开源) :
ThroughtWorks一个强大的基于浏览器的开源自动化测试工具,通常用来编写web应用的自动化测试
c. RFT(收费) :
IBM Rational Test Professional的简称,是一款先进的自动化的功能和回归测试工具,使用与测试人员和GUI开发人员,基础是针对Java,.NET的对象计数和基于web应用程序的录制,回放功能
1.xpath
/:从根节点选取
界面展示:
//:匹配选择的当前节点选择文档中的节点,而不考虑他们的位置
界面展示:
. :选取当前节点
界面展示:
..:选取当前节点的父节点
界面展示:
@:选取属性
界面展示:
//head/meta[1]:选取属于head子元素的第一个meta元素
界面展示:
//head/meta[last()]:选取属于head子元素的最后一个meta元素
界面展示:
//head/meta[last()-1]:选取属于head子元素的倒数二个meta元素
界面展示:
//head/meta[position()<3]:选取最前面的两个属于head元素的子元素的meta元素
界面展示:
//*:查询所有的节点
界面展示:
补充:
//*[text()=“x’x’x”] 全部//title/text() 本内容是xxx的元素
//*[starts-with(@attribute,’xxx’)] 属性以xxx开头的元素
//*[contains(@attribute,’xxxxx’)] 属性中含有xxx的元素
//*[@attribute1=value1 and @attribute2=value2] 同时有两个属性值的元素
什么是css选择器
CSS 中,选择器是一种模式,用于选择需要添加样式的元素。计算机能够通过css选择器定位到相应元素,我们在编写自动化测试脚本的时候很多时候是在不断地找到css选择器
#id:选择id=“firstname”的所有元素
界面展示:
.class:选择class=“intro”的所有元素
界面展示:
input[name="f"]:通过标签[属性名=属性值]
界面展示:
form,span:它会找form和span标签
界面展示:
form>span:找form下所有的span标签
界面展示:
*:代表所有节点
界面展示:
[属性]:选择带有这个属性 的所有元素
界面展示: