QTP(13)
练习1:Flight4a
  要求:
	    a.录制Flight4a登录+购票+退出业务流程
	    b.实现登录1次,购票3次,退出1次
	    c.对Fly From、Fly to、航班实现随机参数化
      随机参数化:RandomNumber
      控件:Fly From
      总数:items count   
      获取运行时的值:GetRoProperty("属性名")
Test13001_Flight4a_for循环购票
SystemUtil.Run "C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe","","C:\Program Files\HP\QuickTest Professional\samples\flight\app\","open"
Dialog("Login").WinEdit("Agent Name:").Set "Jack"
Dialog("Login").WinEdit("Password:").SetSecure "5a653b3a0f6bbea696af1a25046189d3d3608901"
Dialog("Login").WinButton("OK").Click
wait 6
'开始购票
For i=1 to 3
Window("Flight Reservation").WinButton("Button").Click
Window("Flight Reservation").ActiveX("MaskEdBox").Type "111119"
' FromCount保存起飞城市的总数
Dim FromCount
FromCount=Window("Flight Reservation").WinComboBox("Fly From:").GetROProperty("items count")
Window("Flight Reservation").WinComboBox("Fly From:").Select RandomNumber(0,FromCount-1)
' ToCount保存到达城市的总数
Dim ToCount
ToCount=Window("Flight Reservation").WinComboBox("Fly To:").GetROProperty("items count")
Window("Flight Reservation").WinComboBox("Fly To:").Select RandomNumber(0,ToCount-1)
Window("Flight Reservation").WinButton("FLIGHT").Click
' FlyCount保存航班的总数
Dim FlyCount
FlyCount=Window("Flight Reservation").Dialog("Flights Table").WinList("From").GetROProperty("items count")
Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select RandomNumber(0,FlyCount-1)
Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click
Window("Flight Reservation").WinEdit("Name:").Set "Jack"
Window("Flight Reservation").WinButton("Insert Order").Click
wait 6
'结束购票
Next Window("Flight Reservation").Close
练习2:Flight4a
  要求:
	    a.录制Flight4a登录+购票+退出业务流程
	    b.对购票时输入的Tickets实现随机参数化
	    c.使用自定义检查点检查票数*单价=总价
      reporter.ReportEvent micPass,"",""
      reporter.ReportEvent micFail,"",""
Test13002_Flight4a_自定义检查票价
Option Explicit '强制检查语法
SystemUtil.Run "C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe","","C:\Program Files\HP\QuickTest Professional\samples\flight\app\","open"
Dialog("Login").WinEdit("Agent Name:").Set "Jack"
Dialog("Login").WinEdit("Password:").SetSecure "5a654f4183d15630c35108a1e6230bd4bcbde035"
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").ActiveX("MaskEdBox").Type "111119"
Window("Flight Reservation").WinComboBox("Fly From:").Select "Frankfurt"
Window("Flight Reservation").WinComboBox("Fly To:").Select "Denver"
Window("Flight Reservation").WinButton("FLIGHT").Click
Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select "20178 FRA 12:48 PM DEN 01:33 PM SR $162.80"
Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click
Window("Flight Reservation").WinEdit("Name:").Set "Jack"
'1、随机生成1到10的数字,输入Tickets时使用
Dim Tickets
Tickets=Cint(RandomNumber(1,10))
'2、把代码中输入的Tickets替换为随机生成的数字
Window("Flight Reservation").WinEdit("Tickets:").Set Tickets
'3、获取Price的值 $100.10
Dim Price
Price=Window("Flight Reservation").WinEdit("Price:").GetROProperty("text")
'4、获取Total的值 $100.20
Dim Total
Total=Window("Flight Reservation").WinEdit("Total:").GetROProperty("text")
'5、 去掉$符号,转换为double子类型
Price=Cdbl(mid(Price,2))
Total=Cdbl(mid(Total,2))
'6、判断Tickets*Price=Total
If abs(Tickets*Price-Total)<0.01 Then
Reporter.ReportEvent micPass,"检查票价","票数*票价=总价,票数是:"&Tickets&",票价是:"&Price&",总价是:"&Total
else
' 给失败的界面截图
Dim pic
pic="D:\检查票价.png"
desktop.CaptureBitmap pic,True
'desktop.CaptureBitmap "路径",True
' True表示截图存在,就覆盖,False就不覆盖
Reporter.ReportEvent micFail,"检查票价","票数*票价=总价,票数是:"&Tickets&",票价是:"&Price&",总价是:"&Total,pic
End If Window("Flight Reservation").WinButton("Insert Order").Click
Window("Flight Reservation").Close
补充:如何判断浮点数是否相等
  abs(浮点数1-浮点数2)<精度
  abs:取绝对值
精度:自己定义
Tickets=Cint(RandomNumber(1,10))
"票数*票价=总价,票数是:"&Tickets&",票价是:"&Price&",总价是:"&Total
Reporter.ReportEvent micPass
Reporter.ReportEvent micFail
Reporter.ReportEvent micPass,"步骤名称","成功",pic
"票数*票价=总价,票数是:"&Tickets&",票价是:"&Price&",总价是:"&Total&""
练习3:Flight4a
  要求:
	    a.录制Flight4a登录+购票+打开订单+退出业务流程
	    b.把购票生成的订单号获取,打开订单时使用
	    c.使用自定义检查点验证打开的订单是否为购票生成的订单
Test13003_Flight4a_自定义检查打开订单
Option Explicit
SystemUtil.Run "C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe","","C:\Program Files\HP\QuickTest Professional\samples\flight\app\","open"
Dialog("Login").WinEdit("Agent Name:").Set "Jack"
Dialog("Login").WinEdit("Password:").SetSecure "5a6580d62c2a67817dc9888c1e89d3529f4cf0c7"
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").ActiveX("MaskEdBox").Type "111119"
Window("Flight Reservation").WinComboBox("Fly From:").Select "Frankfurt"
Window("Flight Reservation").WinComboBox("Fly To:").Select "Paris"
Window("Flight Reservation").WinButton("FLIGHT").Click
Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select "12670 FRA 09:34 AM PAR 11:29 AM AF $175.60"
Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click
Window("Flight Reservation").WinEdit("Name:").Set "Jack"
Window("Flight Reservation").WinButton("Insert Order").Click
wait 6
'1、获取购票生成的订单号
Dim No
No=Window("Flight Reservation").WinEdit("Order No:").GetROProperty("text") Window("Flight Reservation").WinButton("Button").Click
Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Order No.").Set "ON"
'2、打开订单时使用购票生成的订单号 Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").Set No
Window("Flight Reservation").Dialog("Open Order").WinButton("OK").Click
'3、获取打开订单后的订单号
Dim afterNo
afterNo=Window("Flight Reservation").WinEdit("Order No:").GetROProperty("text") '4、判断打开的订单号是否与购票生成的订单号一致
If afterNo=No Then
Reporter.ReportEvent micPass,"验证订单号","一致"
else
Dim pic
pic="D:\验证订单号.png"
desktop.CaptureBitmap pic,True
Reporter.ReportEvent micFail,"验证订单号","不一致",pic
End If Window("Flight Reservation").Close
练习4:Flight4a
  要求:
	    a.录制Flight4a登录+打开不存在的订单+退出业务流程
	    b.打开订单实现随机参数化,500-1000
	    c.使用自定义检查点,验证打开不存在订单时的提示信息中是否包含输入的订单号
	    d.使用for循环打开5次订单
Test13004_Flight4a_自定义检查提示信息
Option Explicit
SystemUtil.Run "C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe","","C:\Program Files\HP\QuickTest Professional\samples\flight\app\","open"
Dialog("Login").WinEdit("Agent Name:").Set "Jack"
Dialog("Login").WinEdit("Password:").SetSecure "5a658eb213d5d0a5a9c2b75936eb475fa60b4d08"
Dialog("Login").WinButton("OK").Click
Dim i
For i=1 to 5
Window("Flight Reservation").WinButton("Button").Click
Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Order No.").Set "ON"
'1、获取500-1000之间的随机数
Dim orderNo
orderNo=RandomNumber(500,1000)
'2、把打开订单输入的订单号替换为随机数
Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").Set orderNo
Window("Flight Reservation").Dialog("Open Order").WinButton("OK").Click
'3、点击OK按钮打开订单号后,获取提示信息内容
Dim info
info=Window("Flight Reservation").Dialog("Open Order").Dialog("Flight Reservations").Static("Order number 500 does not exist").GetROProperty("text") '4、判断info是否包含orderNo
If instr(info,orderNo)<>0 Then
Reporter.ReportEvent micPass,"判断提示信息","提示信息包含订单号"
else
Reporter.ReportEvent micFail,"判断提示信息","提示信息不包含订单号"
End If Window("Flight Reservation").Dialog("Open Order").Dialog("Flight Reservations").WinButton("确定").Click
Window("Flight Reservation").Dialog("Open Order").WinButton("Cancel").Click Next
Window("Flight Reservation").Close
一、Exist属性)
  1、Exist属性时动态属性,记录被测系统控件对象是否出现\存在于被测系统中
  2、Exist属性值:
	    True:代表存在\出现
	    False:代表不存在\未出现\消失
    项目老师在不在
    If 项目经理.Exist Than
	      叫他过来
    else
	      不叫
  3、应用场景:
	    a.页面跳转(从A页面跳转到B页面),需要检查B页面的控件对象是否出现
	    b.检查某个对象控件是否出现
	    c.检查某个对象控件消失
    练习5:Flight4a
      要求:
	        a.录制Flight4a登录+退出业务流程
	        b.使用Exist属性验证登录是否成功
    Test13005_Flight4a_Exist属性验证登录
SystemUtil.Run "C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe","","C:\Program Files\HP\QuickTest Professional\samples\flight\app\","open"
Dialog("Login").WinEdit("Agent Name:").Set "Jack"
Dialog("Login").WinEdit("Password:").SetSecure "5a65978beafbf13bba1cf5d969e498d6e4ec59b6"
Dialog("Login").WinButton("OK").Click
'1、验证登录是否成功,
'只要Flight Reservation窗口对象存在,就表示登录成功
'如果不存在,就表示登录失败
If Window("Flight Reservation").Exist(8) Then
Reporter.ReportEvent micPass,"验证登录是否成功","成功!"
else
Reporter.ReportEvent micFail,"验证登录是否成功","失败!"
End If Window("Flight Reservation").Close
    练习6:Flight4a
      要求:
	        a.录制Flight4a系统打开后关闭系统
	        b.验证登录对话框已经被关闭
    Test13006_Flight4a_Exist登录消失
SystemUtil.Run "C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe","","C:\Program Files\HP\QuickTest Professional\samples\flight\app\","open"
Dialog("Login").WinButton("Cancel").Click
'1、判断Login对话框不存在
If Not Dialog("Login").Exist(3) Then
msgbox "登录框不存在"
else
msgbox "登录框存在"
End If '1+1=2
'判断1+1等于2 要判断 等于
'If 1+1=2 Then
' 等于
'else
' 不等于
'End If
'
'
'判断1+1不等3 要判断 不等于
'If 1+1 !=3 Then
' 不等于
'else
' 等于
'End If
  4、Exist属性用自定义检查点中的语法:
    (1)检查对象存在:
	      if 对象.Exist(秒数) Then
		        记录成功
	      else
		        记录失败
	      End if
    (2)检查对象消失,不存在
	      if Not 对象.Exist(秒数) Then
		        记录成功
	      else
		        记录不成功
	      End if
5、注意:Exist属性QTP封装的每个控件对象的动态属性,可以直接使用对象.Exist获取属性的值,值是True或者False,不需要使用GetRoProperty
    练习7:Flight4a系统
      要求:
	        a.判断Flight Reservation窗口对象是否存在
	          如果存在就关闭
	          如果不存在,就判断Login对话框是否存在
		          如果存在,就输入用户名、密码登录系统,关闭系统
		          如果不存在,就打开被测系统,关闭被测系统
Window("Flight Reservation")
    练习8:Flight4a
      要求:
	        a.录制时在登录界面,不输入任何信息,点击OK按钮
	        b.使用自定义检查点验证提示信息框对象是否存在
	        c.如果b步骤的提示框对象存在,使用文本检查点检查提示框中提示的信息内容是否正确,点击确认按钮,关闭提示框,验证提示框是否消失
    Test13007_Flight4a_Exist验证登录提示信息
SystemUtil.Run "C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe","","C:\Program Files\HP\QuickTest Professional\samples\flight\app\","open"
Dialog("Login").WinButton("OK").Click
'1、判断Dialog("Flight Reservations")是否存在
If Dialog("Login").Dialog("Flight Reservations").Exist(3)Then
' 存在
Dialog("Login").Dialog("Flight Reservations").Static("Please enter agent name").Check CheckPoint("Please enter agent name")
Dialog("Login").Dialog("Flight Reservations").WinButton("确定").Click
' 2、判断信息提示框是否消失
If Not Dialog("Login").Dialog("Flight Reservations").Exist(3) Then
Reporter.ReportEvent micPass,"验证提示框","关闭"
else
Reporter.ReportEvent micFail,"验证提示框","未关闭"
End If
else
' 不存在
Reporter.ReportEvent micFail,"验证提示框","未打开"
End If
Dialog("Login").WinButton("Cancel").Click
QTP(13)的更多相关文章
- 基于MVC4+EasyUI的Web开发框架经验总结(13)--DataGrid控件实现自动适应宽带高度
		
在默认情况下,EasyUI的DataGrid好像都没有具备自动宽度的适应功能,一般是指定像素宽度的,但是使用的人员计算机的屏幕分辨率可能不一样,因此导致有些地方显示太大或者太小,总是不能达到好的预期效 ...
 - Web 在线文件管理器学习笔记与总结(13)重命名文件夹(14)复制文件夹
		
(13)重命名文件夹 ① 重命名文件夹通过 rename($oldname,$newname) 实现 ② 检测文件夹名是否符合规范 ③ 检测当前目录中是否存在同名文件夹名称,如果不存在则重命名成功 i ...
 - Android菜鸟的成长笔记(13)——异步任务(Async Task)
		
原文:[置顶] Android菜鸟的成长笔记(13)——异步任务(Async Task) Android的UI线程主要负责处理用户的事件及图形显示,因此主线程UI不能阻塞,否则会弹出一个ANR(App ...
 - Windows Phone开发(13):如何规范用户的输入行为
		
原文:Windows Phone开发(13):如何规范用户的输入行为 很多时候,我们对用户的操作或输入做一定程度的限制,以避免发生不必要的异常或错误,因此,对一些特殊的类型,进行输入限制是很有必要的. ...
 - 网站静态化处理—web前端优化—下【终篇】(13)
		
网站静态化处理—web前端优化—下[终篇](13) 本篇继续web前端优化的讨论,开始我先讲个我所知道的一个故事,有家大型的企业顺应时代发展的潮流开始投身于互联网行业了,它们为此专门设立了一个事业部, ...
 - [.net 面向对象程序设计深入](13)实战设计模式——设计模式使用场景及原则
		
[.net 面向对象程序设计深入](13)实战设计模式——设计模式使用场景及原则 1,什么是设计模式? 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计 ...
 - 51单片机学习笔记(清翔版)(13)——LED点阵、74HC595
		
如图3,点阵屏分单色和彩色,点阵屏是由许多点组成的,在一个点上,只有一颗一种颜色的灯珠,这就是单色点阵屏,彩色的在一个点上有三颗灯珠,分别是RGB三原色. 图4你可能没看出来,那么大块黄色的就是点阵屏 ...
 - Java设计模式(13)模板模式(Template模式)
		
Template模式定义:定义一个操作中算法的骨架,将一些步骤的执行延迟到其子类中. 其实Java的抽象类本来就是Template模式,因此使用很普遍.而且很容易理解和使用,我们直接以示例开始: pu ...
 - leecode刷题(13) -- 字符串中的第一个唯一字符
		
leecode刷题(13) -- 字符串中的第一个唯一字符 字符串中的第一个唯一字符 描述: 给定一个字符串,找到它的第一个不重复的字符,并返回它的索引.如果不存在,则返回 -1. 案例: s = & ...
 
随机推荐
- 当你使用Pycharm编译程序的时候,遇到了这个问题,该怎么办?please select a valid interpreter
			
1.打开settings(CTRL + ALT + S)或者 file---setting 2.搜索 Interpreter 3.安装一个python的解释器,自行去官网下载,安装的时候,记得勾选配置 ...
 - Micro LED 技术详谈
			
一.显示技术的发展概况 1. 显示技术 顾名思义,是一种将反映客观外界事物的信息(光学的.电学的.声学的.化学等),经过变换处理,以适当形式(主要有图像.图形.数码.字符)加以显示.供人观看.分析.利 ...
 - 酷Q插件_SDK———入门与使用
			
1.这里使用的是易语言的SDK,所以请看不惯的人自行离开.{wymbf.} 1.2 这里不会直接给你工程,请用动手打代码,动脑思考. 1.3 不知道.不了解酷Q是干嘛的,请访问:https://cqp ...
 - 【计算机视觉】基于样本一致性的背景减除运动目标检测算法(SACON)
			
SACON(SAmple CONsensus)算法是基于样本一致性的运动目标检测算法.该算法通过对每个像素进行样本一致性判断来判定像素是否为背景. 算法框架图 由上图可知,该算法主要分为四个主要部分, ...
 - arm-linux-ar常见用法
			
1) 创建test.a静态库 arm-linux-gcc -c a.o a.c arm-linux-gcc -c b.o b.c arm-linux-ar -rc test.a ...
 - awk 打印从某一列到最后一列的内容
			
数据内容来源于 linux history的命令输出 awk命令 history|awk -F " " '{for (i=2;i<=NF;i++)printf(" ...
 - windows ping命令
			
ping -a 192.168.xxx.xxx 解析计算机NetBios名 ping -n 数字 192.168.xxx.xxx 发送指定数量的echo数据包数,默认是四个 ping -l 192 ...
 - 首篇-记录自己学习python之路!
			
对于自己学习python的目的比较明确——爬虫和量化. 目前找了一些资源进行学习,先进行量化方面的学习,爬虫滞后.目前的目标是“180天掌握尽可能多的量化能力”! 以后定时发送自己学习思考内容以作自己 ...
 - 树莓派3b 串口乱码的一个解决思路
			
首先确认波特率设置正确,为115200 向microSD卡中烧录树莓派官方的镜像后,先不要急着把它插入树莓派中. 在电脑上打开microSD卡,按如下方式修改config.txt和cmdline.tx ...
 - golang 客户端
			
package main import ( "fmt" "io/ioutil" "net/http" ) func main() { fmt ...