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. ...
随机推荐
- MySQL常用维护命令和操作
MySQL数据库安装后,除了包括MySQL服务器进程管理外,还提供了大量工具用于管理和维护MySQL服务器的其它工作.下面PHP程序员雷雪松介绍的这些命令都是在MySQL交互界面以外的命令行中执行的. ...
- mysql 数据库的基本操作
day 41 MySql 一. 为啥使用数据库? 因为之前使用文件(Excel)管理数据, 但是数据量特别大的时候,使用Excel管理 的话, 就比较的麻烦了因此引入一个新的数据管理软件 : 数据库软 ...
- 华为服务器IBMC批量巡检代码
selenium需要下载Chrome驱动webdriver,具体下载的版本根据自己的谷歌浏览器版本进行下载,然后将下载好的驱动webdriver放到自己python解释器同级目录中即可,下载地址htt ...
- 安装与编译Dlib(以Ubuntu16.04+Python3.6+pip为例)
安装与编译Dlib(以Ubuntu16.04+Python3.6+pip为例) Step1:下载Ubuntu (or Linux)系统支持库=>Install OS libraries -dev ...
- 【计算机】hosts设置
2015 Google hosts 持续更新[更新于:2016-02-12] 老D 9个月前 (06-23) hosts 248,284 暂无评论 12798 文章目录[ 隐藏 ] 修改hosts的 ...
- 第12课.经典问题解析(const;指针和引用)
问题1:const什么时候为只读变量?什么时候是常量? const常量的判别准则: a.只有用字面量初始化的const常量才会进入符号表(直接初始化过的const为常量) b.被使用其他变量初始化的c ...
- sops的配置过程
0.demo关键 1.关键信息,不能用5.1.6版本的,还有很多坑 蓝鲸版本: 标准运维:bk_sops_V3.1.39.tar 2.简单理解: 标准运维实际上调用作业平台job的API去执行 要跑通 ...
- mysql数据库之函数、流程控制
函数 注意与存储过程的区别,mysql内置的函数只能在sql语句中使用! 参考博客:http://www.cnblogs.com/linhaifeng/articles/7495918.html#_l ...
- centos 7 cloudera-manager5.16.2,CDH5.16.2安装升级spark2.4.0
1.在已经安装好系统的linux服务器上关闭selinux和iptables 2.在所有linux服务器上配置ntp服务并设置ntp时间同步 3.在所有linux服务器上安装好cm和cdh版本所需要对 ...
- gRPC 本地服务搭建
RPC RPC 原理 主流 RPC 框架 gRPC 概述 特点 服务端创建 定义服务 生成 gRPC 代码 服务端实现 客户端实现 踩坑记录 源码 RPC RPC 原理 RPC 框架的目标就是让远程服 ...