Test3001_Flight4a_手动启动录制购票
(VBS脚本) Window("Flight Reservation").WinObject("Date of Flight:").Click 1,7 Window("Flight Reservation").WinObject("Date of Flight:").Type "111119" Window("Flight Reservation").WinComboBox("Fly From:").Select "London" Window("Flight Reservation").WinComboBox("Fly To:").Select "Paris" Window("Flight Reservation").WinButton("FLIGHT").Click Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select "12582 LON 08:00 AM PAR 10:00 AM AF $164.00" Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click Window("Flight Reservation").WinEdit("Name:").Set "Rose" Window("Flight Reservation").WinEdit("Tickets:").SetSelection 0,1 Window("Flight Reservation").WinEdit("Tickets:").Set "3" Window("Flight Reservation").WinRadioButton("First").Set Window("Flight Reservation").WinButton("Insert Order").Click Window("Flight Reservation").WinButton("Button").Click Window("Flight Reservation").WinButton("Button_2").Click Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Order No.").Set "ON" Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").Set "5" Window("Flight Reservation").Dialog("Open Order").WinButton("OK").Click
一、补充:补录
1、把需要补录的操作对象显示在被测系统上
2、把光标定位在代码中需要补录的位置
3、点击菜单栏Automation(自动化)->Record and Run Settings,选择第一个单选按钮(手动启动被测系统)
4、点击Record按钮,开始录制需要的步骤,把需要的步骤录制完后,点击Stop停止录制
测试用例:
1、输入用户名 XXXX
2、输入密码
3、ok
4、打开订单
5、关闭系统
二、使用QTP测试Flight、web系统
1、录制测试脚本
(1)启动被测系统的方式
1) 自动启动web程序
2) 自动启动web程序的步骤:
a.录制和回放前要关闭:
--IE浏览器(QTP10.0只能使用IE浏览器录制)
--防病毒软件
--翻译类软件
b.打开QTP,选择web插件,创建一个脚本,点击Record开始录制
c.设置Record and run Settings(录制和回放设置)
--其他选项卡选择第一个单选钮
--web选项卡选择第二项Open the follwing address when a record or run session begins(当录制和回放时打开下面指定的路径)
--指定被测系统的URL地址
----------------------------------------------------------------------------------------------------------------------------------------
Open the following browser when a run session beging:当运行时启动下面的浏览器
Do not record and run on browsers that are already open:不要在已经打开的浏览器上运行或者录制
Close the browser when the test closes:当测试脚本关闭时,关闭浏览器(被QTP打开的)
----------------------------------------------------------------------------------------------------------------------------------------
注意:如果第一次录制Web程序,QTP会弹出提示是否开启第三方扩展,点击"Yes",再重新录制
d.根据测试用例步骤录制代码,需要录制关闭浏览器操作
e.点击Stop,保存脚本,回放,查看结果
注意:web系统不建议使用使用手动启动方式录制,如果需要手动启动,就自己编写启动系统的代码
练习2:Mtours(自动启动方式)
要求:a.录制Mtours系统的登录+购票+购票+退出业务流程
London->Zurich
Portland->Paris
其他内容自己选择
Test3003_Mtours_自动启动录制登录+购票+购票+退出
(VBS脚本) '登录被测系统 Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").Set "Mercury" Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure "5a530a9bb8e27d06f1ce655e" Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Image("Sign-In").Click 20,8 '第一次购票 Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebRadioGroup("tripType").Select "oneway" Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("passCount").Select "4" Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").Select "London" Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebRadioGroup("servClass").Select "Business" Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").Image("findFlights").Click 46,9 Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").WebRadioGroup("outFlight").Select "Blue Skies Airlines$91$201$7:07 pm$" Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").Image("reserveFlights").Click 69,8 Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passFirst0").Set "qwe" Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passLast0").Set "wqe" Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("creditnumber").Set "124354" Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").Image("buyFlights").Click 80,9 Browser("Welcome: Mercury Tours").Page("Flight Confirmation: Mercury").Image("Flights").FireEvent "onmouseover" Browser("Welcome: Mercury Tours").Page("Flight Confirmation: Mercury").Image("Flights").Click '第二次购票 Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury_2").WebList("fromPort").Select "Portland" Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury_2").WebList("toPort").Select "Paris" Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury_2").WebRadioGroup("servClass").Select "First" Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury_2").Image("findFlights").Click 69,12 Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").WebRadioGroup("outFlight").Select "Pangea Airlines$542$624$9:21 pm$" Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").WebRadioGroup("inFlight").Select "Unified Airlines$453$643$18:50 pm$" Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").Image("reserveFlights").Click 48,18 Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passFirst0").Set "gfdg" Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passLast0").Set "fsadfd" Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("creditnumber").Set "43545" Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").Image("buyFlights").Click 69,16 '退出系统关闭浏览器 Browser("Welcome: Mercury Tours").Page("Flight Confirmation: Mercury").Image("sign-off").FireEvent "onmouseover" Browser("Welcome: Mercury Tours").Page("Flight Confirmation: Mercury").Image("sign-off").Click Browser("Welcome: Mercury Tours").Page("Sign-on: Mercury Tours").Sync Browser("Welcome: Mercury Tours").Close
登录+购票+退出
购票
登录+购票+购票+退出
London->Zurich
Portland->Paris
练习3:Mtours(自动启动方式)
要求:a.录制Mtours系统的登录+查询订单+退出业务
Test3004_Mtours_自动启动录制登录+查询订单+退出
(VBS脚本) '登录被测系统 Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").Set "Mercury" Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure "5a530f51d10f7eb5bedc84ae" Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Image("Sign-In").Click 28,13 '查询订单 Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").Image("itinerary").FireEvent "onmouseover" Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").Image("itinerary").Click '关闭系统退出浏览器 Browser("Welcome: Mercury Tours").Page("Itenerary: Mercury Tours").Image("sign-off").FireEvent "onmouseover" Browser("Welcome: Mercury Tours").Page("Itenerary: Mercury Tours").Image("sign-off").Click Browser("Welcome: Mercury Tours").Page("Sign-on: Mercury Tours").Sync Browser("Welcome: Mercury Tours").Close
三、QTP的实现原理(录制回放原理)
1、录制时:
a.QTP会自动把测试人员对被测系统执行操作的对象封装到对象库中(测试人员操作了哪个对象就封装哪个对象)
b.把操作形成脚本,记录在Keyword View和Expert View中
2、回放时:
a.根据代码描述的对象去对象库中查找对象,根据对象库中记录的对象属性及属性值去跟被测系统的对象进行对比,找到属性值一致的对象
b.根据脚本中记录的操作动作,对被测系统的对象进行操作
练习5:计算器(自动启动)
要求:a.录制计算器的加法过程
测试用例:
a.打开被测系统
b.点击按钮"5"
c.点击按钮"+"
d.点击按钮"2"
e.点击按钮"="
f.退出被测系统
Test3005_计算器_添加对象
(VBS脚本) 'Window("计算器").WinButton("5").Click 'Window("计算器").WinButton("7").Click Window("计算器").WinButton("9").Click Window("计算器").WinButton("*").Click Window("计算器").WinButton("0").Click Window("计算器").WinButton("=").Click Window("计算器").Close
3、常见回放错误:
(1)The "XXX" XXX object was not found in the Object Repository.(在对象库中未找到对象)
object:对象
not found:未找到
Repository:库
原因:在对象库中未找到对象
解决方案:添加对象动对象库
方法一:录制时对对象进行操作
方法二:通过Object Repository(对象库Ctrl+R)添加
a.打开被测系统,把需要添加的对象显示在界面中
b.在QTP中打开对象库Ctrl+R
c.在对象库中点击加号按钮(Add Objects to Local)
d.使用手型鼠标点击待添加的对象
注意:如果被测系统被遮挡,就按住Ctrl键的同时把被测系统操作显示出来,再释放Ctrl键,再点击待添加的对象
e.在Object Selection对话框中确认是不是要添加的对象,确定
练习5:Flight4a(自动启动)
要求:
a.录制Flight4a的登录+退出流程
b.录制完后在输入用户名步骤后添加点击Help按钮的操作
1 输入用户名
2 点击"Help"按钮
3 点击"确认"按钮
4 输入密码
5 点击 "OK"按钮
6 退出系统
Test3006_Flight4a_添加Help对象
(VBS脚本) Dialog("Login").WinEdit("Agent Name:").Set "abcd" '点击"Help"按钮 Dialog("Login").WinButton("Help").Click '点击"确认"按钮 Dialog("Login").Dialog("Flight Reservations").WinButton("确定").Click Dialog("Login").WinEdit("Password:").SetSecure "5a532d747cbe92bf204ca3ef988bdaacae403daa" Dialog("Login").WinButton("OK").Click Window("Flight Reservation").Close
练习6:两位数加法器
要求:
a.录制两位数加法器加法过程,录制时点击叉按钮关闭系统
b.在录制好的代码计算后中添加
--点击"重置"按钮
--点击"退出"按钮
1 输入第一个数
2 输入第二个数
3 点击"计算"按钮
--点击"重置"按钮
--点击"退出"按钮
4 点击叉号按钮
Test3007_两位数加法器_添加对象
(VBS脚本) VbWindow("Form1").VbEdit("Text1").Set "23" VbWindow("Form1").VbEdit("Text2").Set "56" VbWindow("Form1").VbButton("计算(J)").Click VbWindow("Form1").VbButton("重置(C)").Click VbWindow("Form1").VbButton("退出(E)").Click VbWindow("Form1").Dialog("退出提示").WinButton("确定").Click '运行代码之前需要关闭被测系统 VbWindow("Form1").Close
练习7:Flight4a
要求:
a.录制Flight4a登录+购票+退出业务
b.在输入顾客姓名后,添加步骤,输入Tickets为3
c.回放代码时,使用Flight3a进行回放,并且把脚本调试通过
测试用例:
a.打开被测系统(QTP打开)
b.输入用户名:abcd
c.输入密码:mercury
d.点击"OK"按钮
等一会儿wait 8
e.输入日期:111219
f.选择起飞城市:London
g.选择到达城市:Denver
h.点击Flights按钮
i.点击"OK"按钮
j.输入顾客姓名:Jack
k.点击"Insert Order"按钮
l.关闭被测系统
Test3008_Flight4a_添加Tickets对象
(VBS脚本) Dialog("Login").WinEdit("Agent Name:").Set "abcd" Dialog("Login").WinEdit("Agent Name:").Type micTab Dialog("Login").WinEdit("Password:").SetSecure "5a533bbdaef2d2a3a6b4c9b9a88f82396988e00e" Dialog("Login").WinButton("OK").Click '等一会儿,模拟被测系统加载的过程 wait 6 Window("Flight Reservation").ActiveX("MaskEdBox").Type "111219" Window("Flight Reservation").WinComboBox("Fly From:").Select "Denver" Window("Flight Reservation").WinComboBox("Fly To:").Select "Los Angeles" Window("Flight Reservation").WinButton("FLIGHT").Click Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select "5988 DEN 01:45 PM LAX 02:42 PM AA $123.60" Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click Window("Flight Reservation").WinEdit("Name:").Set "Jack" Window("Flight Reservation").WinEdit("Tickets:").Set "3" Window("Flight Reservation").WinButton("Insert Order").Click Window("Flight Reservation").Close
3、Mtours系统介绍
(1)Mtours是web系统(B/S系统)
a.启动服务
b.在浏览器中输入URL地址进行访问,Mtours的默认端口号是8080
c.注册:点击首页的REGISTER,输入必填项,用户名、密码、确认密码
d.登录:输入用户名、密码进行登录
e.购票:分为3个页面
--选择票的信息
--选择航班
--填写个人信息,只需要填写必填项
f.退出
练习1:Mtours
要求:a.使用自动启动的方式,录制Mtours系统的登录+退出业务
测试用例:
a.打开被测系统(QTP给启动)
b.输入用户名:Mercury
c.输入密码:123
d.点击"Sign-In"按钮登录
e.点击"SIGN-OFF"按钮退出
f.关闭浏览器
Test3002_Mtours_自动启动录制登录
(VBS脚本) Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").Set "Mercury" Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure "5a52e3140435c0ad9106ac27" Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Image("Sign-In").Click 26,12 Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").Image("sign-off").FireEvent "onmouseover" Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").Image("sign-off").Click Browser("Welcome: Mercury Tours").Page("Sign-on: Mercury Tours").Sync Browser("Welcome: Mercury Tours").Close