一.前言
1.为什么功能测试要使用自动化测试工具
(1)存在大量回归测试
(2)存在大数据量的测试
(3)自动化测试工具可以严格、高效的完成测试
(4)无人值守
2.使用自动化测试工具的条件
(1)需求稳定
(2)冒烟测试通过
3.常用的自动化测试工具
(1)HP MI QTP
(2)HP WinRunner
(3)QARun
(4)IBM Rational Robot
(5)开源 Selenium
4.对测试工程师的影响
(1)待遇
(2)发展
(3)竞争力
二、QTP简介
1.QTP全称:Quick Test Professional
2.关键字驱动:把被测系统中的控件识别成对象,测试用例是对对象做各种操作
3.QTP,使用VBS语言
4.QTP10.0
三、QTP界面介绍
1.插件管理界面
根据被测系统使用的技术决定选择插件的类型
主界面中Tools\Options\General\Display Add-in Manager选项勾选,显示插件管理界面
2.如何新建一个Test
方式三种:
(1)点击“StartPage”后的“Test”标签
(2)工具栏中的“New”快捷键
(3)菜单栏中File\New\Test
3.两个视图(重点):
Keyword View(关键字视图):表格形式展现步骤
Expert View(专家视图):VBS代码的形式展示步骤
注意:两个视图中的代码是一一对应的,是一个代码的两种展现方式
4.QTP里的测试以Test为单位组织
一次只能打开一个Test
5.关键字视图中的列
(1)Item(项目):存储被测系统中操作的页面元素对象
(2)Operation(操作):对被测系统的相应对象所做的操作
(3)Value(值):操作使用的数据
(4)Documentation(文档):QTP自动生成的注释
(5)Comment(注释):手动添加的注释
6.ActiveScreen(界面截图)
7.如何录制代码
三种方式:
(1)工具栏的“Record”快捷按钮
(2)菜单栏Automation\Record
(3)F3
8.如何停止录制:
三种方式:
(1)工具栏的“Stop”快捷按钮
(2)菜单栏Automation\Stop
(3)F4
9.如何回放录制:
三种方式:
(1)工具栏的“Run”快捷按钮
(2)菜单栏Automation\Run
(3)F5
10.系统设置:
(1)设置关键字视图中的字体大小
显示关键字视图,Tools\View Options\Fonts and Size,设置Size
(2)设置关键字视图中的字体大小
显示专家视图,Tools\View Options\Fonts and Size,设置Size
(3)回放时间间隔的设置
Tools\Options\Run\Run mode,运行模式:
Fast:快速,无间隔
Nomal:正常,设置步骤之间的间隔,单位是毫秒
(4)恢复页面布局:
Tools\Options\General\Restore Layout按钮(恢复布局)
四、自动化测试的流程
1.需求分析
2.制定测试计划
3.录制测试脚本
4.增强测试脚本
5.回放脚本,执行测试
6.分析测试结果
7.提交测试报告
五、用QTP录制APP系统
(1)Flight系统介绍
1.登录
AgentName:4-10个字符
Password:Mercury/mercury
2.订票
订票日期:格式月日年 mm\dd\yy,不能晚于今日
当选择了Flyfrom和Flyto后,Flights的按钮可用
Tickets:1-10的整数
3.打开订单、更新订单、删除订单
4.退出
(1.1):自动启动的方式 录制WinApp程序(重点)
步骤:
(1)点击“Record”
注意:录制前关闭被测系统
(2)在Record and Run Settings(录制和运行设置)对话框中,
a.Web中选择第一项
b.WinApp中选择第二项(Record and run only on:)
c.通过加号添加被测系统
(3)操作被测系统中的步骤
(4)点击“Stop”停止录制
(5)点击“Run”回放代码
注意:回放代码前,关闭被测系统
练习1:Flight系统,使用自动启动的方式,录制登录-创建新订单-退出,回放
练习2:Flight,手动启动的方式,录制登录-打开订单编号为10的订单-退出,回放
练习3:Notepad,使用自动启动的方式,录制启动-输入abc-关闭-否,回放
练习4:calc,手动启动的方式,录制3+5=关闭,回放
C:\WINDOWS\system32\calc.exe
C:\WINDOWS\system32\notepad.exe
(1.2):手动启动的方式 录制WinApp程序
步骤:
(1)点击“Record”
注意:录制前关闭被测系统
(2)在Record and run settings里,
a.Web选第一项
b.WinApp选第一项:Record and run any open Windows-based applications
(3)手动打开被测系统
注意:只能通过开始菜单打开
(4)录制操作步骤
(5)点击“Stop”结束录制
(6)点击“Run”回放代码
注意:
a.回放前,检查录制好的程序,切换到专家视图,删除SystemUtil前的所有步骤的代码
b.回放前,关闭被测系统
(1.3)Results Summary中passed的值
自动启动时:0
手动启动时:1
手动启动时:录制的脚本在Item中会多一步:SystemUtil(启动应用程序的步骤),之前的操作要删除,否则会回放失败
六、用QTP自动启动 录制Web系统(重点)
注意:
(1)IE\Internet选项\内容\自动完成\取消勾选“表单”,取消勾选“记住用户名”,再点击“清除表单”和“清除密码”的按钮
(2)IE\Internet选项\高级\重定向提交的表单时发出警告
(3)录制时,一定要使用IE,回放时,可以修改使用不同的浏览器回放
(4)启动QTP时,要勾选Web插件
(1):Mtours系统介绍(http://localhost:8080/mtours)
jojo bean
1.注册(Register)的用户可以登录
2.登录(Sign-on)、订票(往返票、乘客姓名可以输入多个)、查看订单、删除订单、退出(Sign-off)
步骤:
1:新建1个Test
2:点击Record按钮,
3:在Web选项卡中,选择第二项,其它都选择第一项
4:在Web选项卡中,输入被测系统的访问地址
5:录制每个操作步骤
6:点击Stop
7:点击Run,回放代码,
注意:回放前,关闭浏览器
说明:录制时,只能使用IE浏览器录制,回放时,可以通过修改代码指定其他浏览器(高级)
不建议使用手动启动的方式录制Web系统
七、QTP实现原理(非常重要)
1.对象仓库:Resources\Object repository
Ctrl+R
2.录制原理:
(1)获得被操作对象的所有属性
(2)用唯一的对象名称(Item列)在对象仓库里记录该对象
(3)在对象仓库中存储该对象的全部属性
(4)标识对象的关键属性
记录位置:Description Properties
(5)在测试脚本中记录被操作对象所做的操作(operation列)和数据(value列)
3.回放原理
(1)从测试脚本中获取对象名称(Item列)、对象的操作(Operation列)、对象操作的数据(value列)
(2)使用对象名称在对象仓库中获取到其关键属性
(3)使用关键属性在被测系统中识别唯一操作对象
(4)使用脚本中的操作(Operation列)和数据(Value列)驱动被测系统的实际运行对象
4.概念(了解):
(1)TO:Test Object 对象仓库中存储的对象
(2)RO:Run-time Object 运行时对象,被测系统实际运行时的对象
对象仓库:Resource(资源)\Object Repository
(1) 对象的组织结构:树状结构显示对象和父对象的父子关系
(2) 所有对象都有1个唯一标识:对象名称(Name)
(3) 对象仓库,在Test Object Details(测试对象详细信息)/Description Properties()里显示对象的所有关键属性
(4) 对象的关键属性,可以修改和删除和增加,不建议初学者进行增加,修改和删除
如果被AUT里的对象的关键属性有修改,那我们要维护对象仓库中的对象:修改关键属性
(5) 对象仓库中的对象,是可以增删
添加对象到对象仓库
两种方式:
(1)打开对象仓库,打开被测系统,停留在要添加的对象所在的页面,
点击工具栏中的“Add Objects to Local”快捷按钮,
或者菜单栏中的Object\Add Objects to Local,
点击被测系统中要添加的对象,确认后添加
(2)通过ActiveScreen上截图界面中,
右键点击要添加的对象,
选择第三个项目(View\Add Object),
确认后添加,,,只适用于在ActiveScreen中显示的控件
Object Spy(对象探测器)
作用:查看当前AUT中的实际运行对象(RO)的所有属性
位置:
(1)QTP主页面的工具栏中的小人头图标
(2)QTP主页面的Tools\Object Spy
(3)对象仓库的工具栏中的小人头图标
(4)对象仓库Menu\Tools\Object Spy
注意:如果ObjectSpy遮挡被测系统的控件,按住左Ctrl键操作,拖走,显示出控件,再捕获
练习6:Flight登录页面的AgentName文本框(WinEdit)中的当前输入内容记录在哪个属性中-------text
练习7:Flight主页面的Flights按钮,是否可用记录在哪个属性中------enabled
练习8:Mtours登录用户名文本框(webEdit)中的当前输入内容记录在哪个属性中---value
在关键字视图中增删改操作步骤
(1)增加步骤:
a.添加要操作的步骤的对象到对象仓库
b.确定添加位置,选中该位置上一个步骤
c.右键,选择Insert New Step
d.在Item列中选择对象,Operation中确认操作步骤,在Value列中填入数据
注意:如果要添加步骤的对象没有在对象仓库中,先添加到对象仓库,然后再添加步骤
(2)删除步骤:
右键\Delete Step
(3)修改步骤:
a.修改Item、Operation、Value均可修改
b.点击要修改的内容,下拉菜单中修改
(4) 注意:
a.增删改之前,回放代码,确认AUT的代码可以正常回放,然后再修改
b.增删改时,按照修改后的步骤到AUT中手动操作一遍,确认可以正常顺序妊
c.增删改之后,回放代码
6.系统设置
(1)对象同步时间:默认是20秒,可修改
意义:回放时到被测系统中识别对象(步骤3)的最长时间
位置:File\Settings\Run\Object synchronization timeout :xxx seconds
练习9:a.录制Flight登录,退出
b.修改Flight登录的用户名
c.修改Flight登录的密码的操作,从SetSecure修改为Set,注意:Value值也要修改为不加密的密码
d.删除退出的步骤
e.修改点击OK的步骤为点击Cancel按钮
f.在输入密码步骤后,增加点击Help的步骤
g.回放代码