注意:
在使用QTP录制代码时,能使用鼠标点击的就不要使用键盘操作,能单击的操作就不要使用双击
一、QTP的工作流程
1、录制测试脚本前的准备:
a.分析被测系统是否可以实现自动化测试
b.分析被测系统是否能与当前QTP的版本兼容
c.熟悉被测系统,确认哪些功能点需要进行测试
2、录制测试脚本
a.使用QTP录制测试脚本,QTP会记录测试人员对被测系统执行的操作,在keyword View关键字视图中形成测试步骤,在Expert View专家视图中形成测试代码
测试人员对被测系统执行的操作:按照测试用例去执行
3、增强测试脚本
a.添加检查点:让QTP执行操作步骤后,检查被测系统的状态是否正确
b.实现参数化:让QTP执行操作步骤时使用不同的数据
c.添加控制流程语句
d.实现对Action之间的调用
e.编写更复杂的脚本
4、对测试脚本进行调试,可以使用Debug功能
5、执行测试脚本,QTP会验证被测系统的正确性(测试程序有没有缺陷)
6、分析测试结果、编写测试报告
二、使用QTP测试Flight系统
1、熟悉Flight被测系统
(1)Flight系统介绍
1) Flgith系统是标准的Windows程序,测试时选择ActiveX插件
2) Flight 系统是一个飞机订票系统,分为3个版本,开始程序中打开的是Flight4a(稳定版)
3) 启动路径:C:Program FilesHPQuickTest ProfessionalsamplesflightappFlight4a.exe
4) Flight4a系统的功能介绍
登录功能:
Agent Name: 用户名(4-10位字符)
Password: 密码(mercury MERCURY)
OK 确认登录
Cancel 关闭
Help 帮助,可以查看密码
购票功能:
Date of flight 出发日期(格式mm/dd/yy 月/日/年),必须是未来的日期,大于今天
Fly From 出发城市
Fly To 到达城市
Flights按钮,可以选择航班
Name 乘客姓名
Tickets 票数(1-10的数字)
Class 席别(First头等舱、Business商务舱、Economy经济舱)
insert Order 按钮,插入订单,确定购票,当进度条执行完,会显示Insert Done...文本,表示购票成功,在Order No.输入框中显示订单号
注意:购票一张票后,如果要继续购票另外一张,需要清空订单
27 28 29
打开订单功能:
Open Order 打开订单,查看订单的信息
Customer Name 顾客姓名
Flight Date 出发日期
Order No 订单号
发送传真功能:
File-->Fax Order...
Fax Number 传真号
Send 发送
发送成功,在进度条上显示 Fax sent successfully...
2、录制测试脚本
(1)启动被测系统的方式
方式一:自动启动(给QTP指定被测系统的路径,让QTP去启动被测系统)
1) 自动启动Windows程序
2) 自动启动windows程序的步骤:
a.录制前和回放前需要关闭:
--被测系统
--防毒软件,如360
--翻译类软件,如有道
b.启动QTP选择对应的插件,新建一个脚本
c.点击Record(录制)按钮,设置Record and Run Settings(录制和回放设置)
--选择Windows Applications选项卡
--选择Record and run only on(只运行和回放)单选按钮
--勾选Applications opened by Quick Test(被QTP打开的程序)
--勾选Applications secified below(指定被测程序路径)
--点击绿色"+"
--在Application文本框输入被测系统的地址,确定
d.根据测试用例步骤操作被测系统
e.点击"Stop"按钮,停止录制
f.保存代码后点击"Run"按钮,运行脚本
3) 自动启动web程序
4) 自动启动web程序的步骤
练习1:Flight4a
要求:a.使用自动启动方式录制Flight4a登录+退出业务流程
测试用例:
a.打开Flight4a系统
b.输入用户名:mercury
c.输入密码:mercury
d.点击"OK" 按钮
e.退出Flight4a系统
Test2001_Flight4a_自动启动录制登录
(VBS脚本) Dialog("Login").WinEdit("Agent Name:").Set "1234" Dialog("Login").WinEdit("Password:").SetSecure "5a4ef3a186fd66cd8b570982a6817ea6a5da36c3" Dialog("Login").WinButton("OK").Click Window("Flight Reservation").Close
练习2:记事本(录制和回放前都把记事本关了)
要求:a.使用自动启动的方式录制记事本程序
测试用例:
a.打开被测系统(QTP 给打开)
b.在记事本中输入 abcd
c.关闭记事本
d.在提示信息上点击"否"
记事本的启动路径:C:WINDOWSsystem32
otepad.exe
Test2002_记事本_编辑内容
(VBS脚本) Window("记事本").WinEditor("Edit").Type "记事本" Window("记事本").Close Window("记事本").Dialog("记事本").WinButton("否(N)").Click
注意:
如果运行代码时,提示:Cannot found "XXX" object's parent.......信息
原因:
a.当前打开了多个被测系统
b.当前没有打开被测系统
方式二:手动启动被测系统,测试人员在录制时自己启动被测系统,QTP会记录启动的操作,在代码中形成启动被测系统的代码SystemUtil.Run "被测系统的路径"
C:Program FilesHPQuickTest ProfessionalCodeSamplesPlusFlight_Samples
1) 手动启动Windows程序
2) 手动启动Windows程序的步骤:
a.录制前和回放前关闭:
--被测系统
--防毒软件
--翻译软件
b.启动QTP,选择对应的插件,新建一个脚本
c.点击Record按钮,开始录制,设置Record and Run Settings(录制和回放设置)
--选择Windows Applications选项卡
--选择Record and run test on any open Windows-based application(录制和回放任何打开的windows程序)单选按钮,确定
d.按照测试用例的步骤操作被测系统,录制代码,不要做多余的操作
e.点击"Stop"按钮停止录制,保存脚本,并且检查脚本的第一句代码是否为SystemUtil.Run "被测系统路径",如果不是,需要删除SystemUtil.Run之前的代码
f.运行代码,检查结果
练习3:Flight4a
要求:使用手动启动方式录制Flight4a登录+退出业务流程
测试用例:
a.打开被测系统(测试人员打开)
b.输入用户名:Jack
c.输入密码:mercury
d.点击"OK"按钮
e.退出被测系统
Test2003_Flight4a_手动启动录制登录
(VBS脚本) SystemUtil.Run "C:Program FilesHPQuickTest Professionalsamplesflightappflight4a.exe","","C:Program FilesHPQuickTest Professionalsamplesflightapp","open" Dialog("Login").WinEdit("Agent Name:").Set "Jack" Dialog("Login").WinEdit("Password:").SetSecure "5a4f1e4da5fca28814d3a720f1597a7e92f44175" Dialog("Login").WinButton("OK").Click Window("Flight Reservation").Close
练习4:两位数加法器
要求:a.使用手动启动方式录制两位数加法器
测试用例:
a.打开被测系统(测试人员打开)
b.输入第一个数:28
c.输入第二个数:72
d.点击"计算(J)"按钮
e.关闭被测系统
Test2004_两位数加法器_手动启动录制加法
(VBS脚本) SystemUtil.Run "D:两位数加法器V2.exe","","D:","open" VbWindow("Form1").VbEdit("Text1").Set "28" VbWindow("Form1").VbEdit("Text2").Set "72" VbWindow("Form1").VbButton("计算(J)").Click VbWindow("Form1").Close
练习5:计算器
要求:a.使用手动启动录制计算器的计算过程
测试用例:
a.打开被测系统(测试人员打开)
b.点击按钮"9"
c.点击按钮"2"
d.点击按钮"+"
e.点击按钮"3"
f.点击按钮"7"
g.点击按钮"="
h.关闭被测系统
Test2005_计算器_手动启动录制计算
(VBS脚本) SystemUtil.Run "C:WINDOWSsystem32calc.exe","","C:WINDOWSsystem32","open" Window("计算器").WinButton("9").Click Window("计算器").WinButton("2").Click Window("计算器").WinButton("+").Click Window("计算器").WinButton("3").Click Window("计算器").WinButton("7").Click Window("计算器").WinButton("=").Click Window("计算器").Close
练习6:Flight4a
要求:录制Flight4a的购票业务流程
测试用例:
a.输入日期:111119
b.选择起飞城市:Denver
c.选择到达城市:London
d.点击"Flights"按钮
e.选择第二个航班
f.点击"OK"按钮
g.输入顾客姓名:Rose
h.输入票数:3
i.选择舱位:First
j.点击"Insert Order"按钮