一、认识web自动化
1.什么是自动化测试?
1.1自动化测试的概念?
软件自动化测试就是通过测试工具或者其他手段,按照测试人员的预定计划对软件产品进行自动化测试,他是软件测试的一个重要组成部分,能够完成许多手工测试无法完成或者难以实现的测试工作,正确合理的实施自动化测试,能够快速,全面的对软件进行测试,从而提高软件质量,节省经费,缩短软件的发布周期。
1.2自动化测试的历史
a-自动化测试就是任何利用工具来辅助的测试,集合在计算机工业生成的第一天,这种测试就出现了。
b-历史上从来没有出现过“测试自动化取代测试工程师工作”,这种事情发生,除非你完全忽略测试人员们的真正工作。
c-测试自动化意味着使用测试工具。自动化测试是个古老的概念。
2.为什么要进行自动化测试?
a-缩短测试周期
计算机行业更新迭代速度快,大量频繁的回归测试消耗时间,自动化测试能够将重复的实行交给计算机去做,加快测试速度。
b-避免认为出错
测试人员不可能高度几种,并且人类易于受外界影响(头疼脑热,精神不振),可能会造成认为错误。
c-测试信息存储
自动化测试将测试信息和数据存储在文件中,思路清晰明确,交接方便。
d-轻易获取覆盖率
自动化测试能够解放测试人员,使测试人员能够有更多的精力去做哪些非重复性的工作。
e-其他
自动化测试可以是实现自动或者定时执行。
注意:自动化测试的方向是对的,而且趋势也是如此,但是有些自动化实现不了的还是会手动测试。
3.自动化测试的分类
1.整体分类
1)自动化功能测试、2)自动化性能测试
2.自动化功能测试分类:
1)单元测试:程序员搞定、2)功能测试、3)接口测试:大中型项目或长期项目可以采用自动化测试
性能测试主要是使用测试工具
Loadrunner、Jmeter等,对软件进行压力测试、负载测试等等,因为这些无法用手工进行代替,所有必须自动化。
为了测试一个web站点的服务能力,需要模拟上千万的请求(比如打开浏览器访问站点),人的速度是远远达不到这样的操作。
4.web自动化条件和使用范围
1.使用自动化的前提条件
1)手动测试已经完成,后期再不影响进度的前提下逐渐实现自动化
2)项目周期短,重复性的工作都交给机器去做
3)需求稳定,项目变动不大
4)自动化测试脚本复杂度比较低
5)可重复利用
2.使用自动化测试的场景
1)频繁的回归测试
2)冒烟测试
3)传统行业需求变化不大,应用频繁
4)性能测试
5.web自动化常用的工具
QTP(收费)
QTP是Mercury公司的Quick Test Professional的简称,是一种自动测试工具。
Selenium(开源)
Selenium一个强大的基于浏览器的开源自动化测试工具,通常用来编写web应用的自动化测试。
RFT(收费)
IBM Rational Test Professional的简称。是一款先进的自动化的功能或回归测试工具,使用与测试人员和GUI开发人员,基础是针对Java。.NET的对象计数和基于web应用程序的录制,回放功能。
6.元素的定位
1.6.1为什么要学习元素的定位?
1)计算机没有只能到人的程度
2)计算机不能像手动测试人员一样通过眼看,手操作鼠标点击,操作键盘输入。
3)计算机通过一系列技术手段找到元素(按钮、输入框、模拟键盘等)
1.6.2元素定位的工具或手段有哪些?
1)css选择器、2)xpath
7.xpath
1.7.1什么是xpath?
Xpath即为XML路径语言,它是一种用来(标准通用标记语言的子集)在HTML\XML文档中查找信息的语言。
1.7.2什么是XML?
XML指可扩展标记语言
XML是一种标记语言
XML的设计宗旨是传输数据,而非显示数据
1.7.3XML与HTML
1.7.4节点
1.7.5获取元素
XPath使用路径表达式来选取XML文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。
8.什么是css选择器
CSS中,选择器是一种模式,用于选择需要添加样式的元素。计算机能够通过css选择器定位到相应元素,我们在比爱你写自动化测试脚本的时候很多时候是在不断地找到css选择器 。