摘要:
' 1.检查点的作用:检查点比较指定属性的当前值与期望值, 以判断当前的程序(或站点)功能是否正常。
' 2.此样例用qtp自带的程序:flight4a.exe
' 输入用户名和密码,并点击"OK"
Dialog("Login").WinEdit("Agent Name:").Set "sdf"
Dialog("Login").WinEdit("Password:").SetSecure "4ace9ff1d7b5cb6b84e11e17"
Dialog("Login").WinButton("OK").Click
' QTP自带文本检查点,方法 -- insert ->Checkpiont -> textCheckpoint ->点击要检查的文本->按提示进行相关设置
Dialog("Login").Dialog("Flight Reservations").Static("Agent name must be at").Check CheckPoint("Agent name must be at least 4 characters long.")
' QTP自带standard检查点,方法 -- insert ->Checkpiont ->standardCheckpoint->点击要检查的点->按提示进行相关设置
Dialog("Login").Dialog("Flight Reservations").WinButton("确定").Check CheckPoint("确定")
' QTP自带TextArae检查点,方法 -- insert ->Checkpiont ->TextAraeCheckpoint->框选要检查的文本->按提示进行相关设置
Dialog("Login").Dialog("Flight Reservations").Check CheckPoint("Flight Reservations")
Dialog("Login").Dialog("Flight Reservations").WinButton("确定").Click
' QTP自带Bitmap检查点,方法 -- insert ->Checkpiont ->BitmapCheckpoint->点击要检查的图片->按提示进行相关设置
Dialog("Login").Static("Static").Check CheckPoint("Static")
Dialog("Login").Static("Static").Check CheckPoint("Static")
' QTP自带database检查点,方法 -- insert ->Checkpiont ->databaseCheckpoint->用qtp自带mdb的进行设置->按提示进行相关设置
DbTable("DbTable").Check CheckPoint("DbTable")
' QTP自带XMl(文件)检查点, 方法 -- insert ->Checkpiont ->XML Checkpoint (From resource )->使用QTP的一个测试结果生成的XML文件进行样式->按提示进行相关设置
XMLFile("XMLCheckpointTest.xml").Check CheckPoint("XMLCheckpointTest.xml")
`================== 检查点成功与否?==============
' 想知道检查点是不是通过了,如何做?
' 1.回顾一下VB知识,根据VB可知,vb对于子过程(sub)是不返回值,而函数(function)是有返回值的,
' 1.1. sub 调用样式为 :过程名 参数
' 1.2. function 调用样式为:变量 = 函数名( 参数)
' 2. 所以,你可能注意到了,以上的检查点调用方法都为子过程的方式,那么,想知道检查点是不是成功,
' 那么请用function 调用方法,因为所有的检查点方法都有sub 和function 两种方式。
' 3.检查点的function 调用返回结果类型都为boolean,检查点执行成功返回:true ,否则,返回false
' 检查点成功与否的样例 , 注意下行行参数加了括弧.
blWinButtonChk =Dialog("Login").WinButton("Help").Check ( CheckPoint("HelpButtonChk") )
If true = blWinButtonChk Then
msgbox "检查点执行成功!"
else
msgbox "检查点执行失败!"
End If
`================= 检查点成功与否 end ================
' ============= 使用对象的CheckProperty过程或函数做手工做检查点 ============
' 当想去对象的某属性(attribute)作检查时,可以使用此方法
' 如要检查一下弹出的对话框的title作检查点时,就可以用此方法,具体方法步骤:
' 1. 先把要检查的属性所属对象添加到对象库中
' 2. 用spy工具探测出 属性的名字和对应的值
' 3. 使用对象的绝对描述,描述到要检查的对象上,后跟上:.checkProperty “要检测属性的名字” , "要检测属性所对应的值", n(设置检查点的超时时间,毫秒)
' 样例之 手工设置检查点,以检查对象的regexpwndtitle属性,并且检查其值是否是为:Help
Dialog("Login").WinButton("Help").CheckProperty "regexpwndtitle", "Help"
' ============= 使用对象的CheckProperty过程或函数做手工做检查点 end ===================
Dialog("Login").Close
QuickTest enables you to add checks to yourtestor component.
检查点比较指定属性的当前值与期望值,以判断当前的程序(或站点)功能是否正常。
当你增加了一个检查点以后,在KeyWord模式下会增加一个CheckPoint,在Expert模式下会增加一条CheckPoint语句。在运行测试时,QTP比较CheckPoint的期望值与当前值,如果结果不匹配,则检查点失败,你可以在TestResults窗口中查看到检查点的结果。
如果你想获取checkpoint的返回值(一个布尔值,表示检查成功或失败),你必须在专家模式下将checkpoint参数两端加上括号。如
a = browser("MyBrowser").page("MyPage").check(checkPoint("MyProperty"))
2)向测试脚本中添加检查点
可以在录制脚本的过程中添加,也可以在修改脚本的过程中添加。
途径:菜单 Insert-checkpoint、或按钮;在Keywork视图中选择一个STEP,然后选右键菜单Insert Standard Checkpoint;在Active Screan中选择任意一个object,然后选右键菜单Insert Standard Checkpoint。
3) checkpoint的种类:
可以在站点或应用程序中插入不同种类的checkpoint。
l Standard Checkpoint(标准检查点)
检查程序或网页object的属性值,检查对象如buttons, radio buttons, combo boxes, lists,等等。
标准检查点支持所有的add-in环境(seeSupported Checkpoints).
l Image Checkpoint(图像检查点)
检查程序或网页中图像的值,如你可以检查图像的源文件是否正确。
注:你也可以给图片object插入一个标准检查点,这个标准检查点也是图像检查点。
l Bitmap Checkpoint(图片检查点)
将程序或网页的某个区域作为一个图片,建立检查点。如,某个站点可以展示一个城市的地图,这个地图有控制地图缩放的按钮,你点击1次“zoom in”按钮后,录制下放大了的地图快照。通过建立bitmap检查点,可以检查“zoom in”功能是否正确。
l Table Checkpoint(表检查点)
检查一个表中的信息。例如,假设被测的程序或网站包括一个table,本table中包含了所有的从New York到San Fransisco的有效航班。你可以通过Table检查点来检查第1个航班的时间是否正确。
注意:你也可以通过为表Object插入标准检查点的方法创建表检查点。
l Text Checkpoint(文本检查点)
检查位于程序或网站某个位置的字符串。例如,假 设程序或网站显示“Flight departing from New York to San Francisco”的语句,你可以创建一个文本检查点检查"New York"是否显示于"Flight departing from"与"to San Francisco"之间。
所有的add-in环境都支持文本检查点。
l Text Area Checkpoint
l Accessibility Checkpoint
l Page Checkpoint
l Database Checkpoint
检查database的内容。例如,可以使用数据库检查点来检查包含航班信息的数据库的内容。
所有环境都支持数据库检查点。
l XML Checkpoint
l 下表是QTP中在不同环境下对各类检查点的支持情况。
|
Web |
Std |
VB |
ActiveX |
Other Object |
Standard |
S |
S |
S |
S |
NA |
Image |
S |
NS |
NS |
NS |
NA |
Table |
S |
NS |
NS |
S |
NA |
Text |
S |
S |
S |
S |
NA |
Text Area |
NS |
S |
S |
S |
NA |
Bitmap |
S |
S |
S |
S |
NA |
Accessibility |
S |
NS |
NS |
NS |
NA |
XML |
S |
NS |
NS |
NS |
S (File) |
Page |
S |
NA |
NA |
NA |
NA |
Database |
NA |
NA |
NA |
NA |
S (DbTable) |
S—Supported
NS—Not Supported
NA—Not Applicable
4)检查object的属性值
通过向测试脚本中添加标准检查点,可以检查不同版本的程序(或站点)的object的属性的异同。
在录制过程中添加检查点时,点击检查点按钮,鼠标变成手状,点击object即可。这时如果按钮CTRL键,可以将鼠标变成正常状态,进行正常操作,松开CTRL后,仍然变成手状。
5)检查Table或Database。
通过检查Table,可以检查程序中Table的内容;
通过检查DabaBase,可以检查DataBase的内容。两种检查方法相似。
通过Table检查点,你可以检查某个指定的值是否存在于应用程序的当前表格中。
DataBase检查点:针对Database定义一个查询,然后创建一个检查点,用检查点来检查查询结果。
创建Database检查点:
首先基于数据库表查询的结果建立检查点。检查点可以是检查查询结果的全部或部分。QTP从数据库中获取当前数据并将它保存为期望的数据。在专家模式下,数据库检查点的脚本表达为“DbTable.Check CheckPoint”。
当运行测试脚本时,DAtabase检查点将当前数据与录制时产生的期望数据相比较,如果数据不匹配,则表示失败。