QTP(3)
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
QTP(3)的更多相关文章
- QTP(16)
一.QTP项目(ECShop) 1.ECShop是一个开源免费的一个B2C的电子商务系统,主要用于商家和顾客进行商品交易操作. 2.ECShop分为前台和后台两个子系统: (1)ECShop前台:顾客 ...
- QTP(14)
练习1.Flight4a 要求: a.录制Flight4a登录+退出业务流程 b.使用自定义检查结合Exist属性验证登录是否成功 c.为用户名实现参数化 用户名 Jack 正确 Rose 正确 12 ...
- QTP(13)
练习1:Flight4a 要求: a.录制Flight4a登录+购票+退出业务流程 b.实现登录1次,购票3次,退出1次 c.对Fly From.Fly to.航班实现随机参数化 随机参数化:Rand ...
- QTP(12)
练习:录制两位数加法器加法计算后退出的步骤,对两个加数做随机数参数化,随机数范围是0-50,在计算后获得被测系统计算的结果,判断如果结果等于100,msgbox提示“满分”,如果结果在80和99之间, ...
- QTP(10)
一.VBS语言基础 1.运算符和表达式 (1)运算符 (2)表达式 a.数学表达式:由算术运算符连接,计算结果为数字 b.字符串表达式:由字符串连接符连接,计算结果为字符串 c.条件表达式:由关系运算 ...
- QTP(9)
常用的Windows控件 WinEdit---Set "数据值" SetSecure "加密数值" WinButton---Click WinComboBox- ...
- QTP(8)
一.Action 1.调用Action C:\Program Files\HP\QuickTest Professional\CodeSamplesPlus\Flight_Samples (1)调用A ...
- QTP(7)
一.输出值(Output Value) 1.应用场景: 1) 关心被测系统的数据 2) 将被测系统生成的数据作为后面步骤的输入 2.输出值就是输出被测系统中实际运行时的数据的一种技术 a.运行中对象的 ...
- QTP(6)
一.检查点 1.标准检查点(Standard Checkpoint) 作用:检查对象的属性值是否正确 文本框对象:text 预期值 单选按钮对象:checked ON/OFF 下拉框对象:Select ...
- QTP(5)
一.检查点 1.位图检查点(Bitmap CheckPoint) (1)作用:主要用于检查UI界面,检查页面布局,包括控件位置.大小.颜色.状态等 (2)确定位图检查点的要素: a.检查哪个控件 b. ...
随机推荐
- Kaggle初体验之泰坦尼特生存预测
Kaggle初体验之泰坦尼特生存预测 学习完了决策树的ID3.C4.5.CART算法,找一个试手的地方,Kaggle的练习赛泰坦尼特很不错,记录下 流程 首先注册一个账号,然后在顶部菜单栏Co ...
- python3速查参考- python基础 5 -> 常用的文件操作
文件的打开方式 打开方式 详细释义 r 以只读方式打开文件.文件的指针会放在文件的开头.这是默认模式. rb 以二进制只读方式打开一个文件.文件指针会放在文件的开头. r+ 以读写方式打开一个文 ...
- 【CSS】如何在一个页面中引入样式css
CSS(Cascading Style Sheet)又叫层叠样式表.是我们学习前端必不可少的一门语言,学习它其实就是为了学会如何去更改页面标签的样式.目前使用最广的是css3,但同样的,他是从css2 ...
- 随便写的Gost安装脚本,作用你懂的,目前只支持CentOS,可以在Aliyun ECS中使用
服务器 执行下面命令: curl -L aux.pub/gost | bash 或者: curl -L https://gist.githubusercontent.com/inrg/03da1ded ...
- 【转帖】k8s-kubectl命令大全
https://www.cnblogs.com/fuyuteng/p/9458282.html 学习一下 Kubectl命令行管理对象 类型 命令 描述 基础命令 create 通过文件名或标准输入创 ...
- PAT B1012.数字分类
全部AC #include <cstdio> int valid[5] = {0}; int count[5] = {0}; int p1(int i) { printf("%d ...
- Redis 键空间事件通知
出处: 使用Redis完成定时任务 场景 使用Java做过项目的人大概都用过定时器.一般来说,项目里订单模块和评论模块,都会涉及到定时任务执行.比如说: 用户下订单后,需要在5分钟内完成支付,否则 ...
- pb datawindow的用法
1. 使DataWindow列只能追加不能修改如何使DataWindow中的数据只能追加新记录而不能修改,利用 Column 的 Protect 属性可以很方便的做到这一点,方法如下:将每一列的 Pr ...
- frp基础操作
[common]privilege_mode = true privilege_token = ****bind_port = 7000 dashboard_user = 444444dashboar ...
- Bootstrap3基础教程 01 概述
移动设备优先是 Bootstrap 3 的最显著的变化. 基础的页面: <!DOCTYPE html> <html> <head> <meta charset ...