zoukankan      html  css  js  c++  java
  • QTP之检查点实例操作(转载)

    摘要:

    '           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

    QTP检查点CheckPoint解析
     
    1)理解检查点

    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检查点将当前数据与录制时产生的期望数据相比较,如果数据不匹配,则表示失败。
  • 相关阅读:
    js中 var let const 区别
    img标签src引用网络图片,响应403的解决方法
    统计开发push数据
    gp日志查看
    node之path模块
    算法相关问题
    常用的 curl 发送 http 请求 命令
    Python与Go列表切片越界的对比
    golang时间与时区相关操作总结
    go语言结构体转map的方法
  • 原文地址:https://www.cnblogs.com/erhu/p/2456448.html
Copyright © 2011-2022 走看看