1.1什么是自动化测试
自动化测试的概念:
软件自动化测试就是通过测试工具或者其他手段,
按照测试人员的预定计划对软件产品进行自动化
测试,他是软件测试的一个重要组成部分,能够
完成许多手工测试无法完成或者难以实现的测试
工作,正确合理的实施自动化测试,能够快速,
全面的对软件进行测试,从而提高软件质量,节
省经费,缩短软件的发布周期。
自动化测试的历史:
1.自动化测试就是任何利用工具来辅助的测试,几乎在计算机工业产生的第一天,这种测试就出现了。
2.历史上从来没有出现过“测试自动化取代测试工程师工作”这种事情发生,除非你完全忽略测试人员们的真正工作。
3.测试自动化意味着使用测试工具。自动化测试是个古老的理念。
1.2 为什么进行自动化测试
1.自动化测试的好处:
1)缩短测试周期
计算机行业更新迭代快速,大量频繁的回归测试消耗时间,自动化测试能够将重复的实行交给计算机去做,加快测试速度。
2)避免人为出错
测试人员不可能持续高度集中,并且人类易受外界影响(头疼脑热,精神不振),可能会造成人为错误
3)测试信息存储
自动化测试将测试信息和数据储存在文件中,思路清晰明确,交接方便
4)轻易获取覆盖率
自动化测试能够解放测试人员,使测试人员能够有更多的精力做那些非重复性的工作。
5)其他
自动化测试可以是实现自动或者定时执行
自动化测试的方向是对的,而且趋势也是如此,但是有些自动化实现不了的还是会手动测一把
1.3 自动化测试的分类
1.整体分类:
1)自动化功能测试
2)自动化性能测试
2.自动化功能测试的分类:
1)单元测试
程序员搞定
2)功能测试
3)接口测试
大中型项目或长期项目可以采用自动化测试
3 自动化测试的分类
性能测试主要是使用测试工具
Loadrunner、Jmeter等,对软件进行压力测试、负载测试等等,因为这些无法用手工进行代替,所以必须自动化。
为了测试一个web站点的服务能力,需要模拟上千上万的请求(比如打开浏览器访问站点),人的速度是远远达不到这样的操作的
1.4 web自动化条件和使用范围
1.使用自动化的前提条件
1)手动测试已经完成,后期再不影响进度的前提下逐渐实现自动化
2)项目周期长,重复性的工作都交给机器去实现
3)需求稳定,项目变动不大
4)自动化测试脚本复杂度比较低
5)可重复利用
2.使用自动化测试的场景
1)频繁的回归测试
2)冒烟测试
3)传统行业需求变化不大,应用频繁
4)性能测试
1.5 web自动化常用的工具
1.常见的自动化web测试工具:
1)QTP(收费)
QTP是Mercury公司的Quick Test Professional的简称,是一种自动测试工具。
2)Selenium(开源)
ThroughtWorks一个强大的基于浏览器的开源自动化测试工具,通常用来编写web应用的自动化测试
3)RFT(收费)
IBM Rational Test Professional的简称,是一款先进的自动化的功能和回归测试工具,使用与测试人员和GUI开发人员,基础是针对Java,.NET的对象计数和基于web应用程序的录制,回放功能。
2.1环境及工具
1.材料:
1)firefox35
2)firebug插件
3)firepath插件
2.安装步骤:
自己百度去
XPath即为XML路径语言,它是一种用来(标准通用标记语言的子集)在 HTML\XML 文档中查找信息的语言。
3.1xpath表达式
/ 根目录
// 根目录下随意位置进行匹配
. 选取当前节点
… 选取当前节点的父节点
@ 选取属性
3.2 查找某个特定的节点或者包含某个指令的值的节点
选取子元素的第一个元素
选取子元素的最后一个元素
选取子元素的倒数第二个元素
元素位置 position()
锁定元素的属性 [@属性]
锁定元素的值[@属性=值]
//* 选取文档中所有的元素
//@ 匹配任何属性节点
node() 匹配任意类型的节点
两个条件进行并行查询
获取页面的文本信息
css 选择器
根据id 进行锁定
根据 标签名 进行锁定
选取 所有的元素 *
通过 元素 与 元素 之间嵌套的关系
div,p
通过属性
[src^=‘https’] 在src里以https开头的
[src$=’.js’] 以.js 结尾的
[src*=‘tu_3002cad’] 属性中包含元素的
通过父子关系
:only-child
父元素唯一的子元素
:nth-child(2)
父元素下第二个子元素
:nth-last-child(n)
从最后一个子元素开始计数