QTP描述性编程原理介绍1

上一篇 / 下一篇  2009-08-06 10:53:08 / 个人分类:qtp

QTP工作原理有点类似人类社会的某些场景.比如一个朋友委托你带东西给A,如果你认识A,这表明A的容貌特征以及一些联系已经在你脑海有了印象,那么你只要找到了A的住所,那么这个任务就很容易完成了,如果你根本就不认识A,则这个任务就很难完成了.
    那在QTP中有没有一种方法,无须在对象库中记录任何关于某个对象的信息,就可以完成对该对象的操作呢,有.那就是描述性编程,其工作原理就象上面这个例子.

    在QTP中,有一按钮对象,对它的操作如下:

    Dialog("Login").WinButton("OK").Click

    但是如果我们在对象库中删除这个对象后,执行这句话就会出错,提示找不到对象,在这个时候,我们就可以通过描述性编程给他指定对象及其他的一些属性,修改如下

    Dialog("Login").WinButton("text:=OK").Click

    上面脚本中,通过WinButton("text:=OK")明确告诉QTP去寻找文本属性为OK的按钮,于是QTP正确识别到该对象,顺利的执行了脚本

    这种不需要在对象库中存储对象的信息,就可以执行对象操作的方法,就是QTP中比较高级的用法:描述性编程(descrīptive progamming).描述性编程和传统的QTP脚本的区别是:他把需要识别的对象的属性从对象库中转移到了脚本里面,通过在脚本里面的特殊语法格式.来告诉QTP识别对象的方法.描述性编程更加灵活,因为他不需要经过录制这个步骤,可以直接通过编程的方式操作任何一个你想操作的对象,只要你在测试脚本代码里提供给QTP识别该对象的足够信息

    描述性编程的语法格式如下:

    micClasas("property1:=value1","property2:=value2")

    micClass标志某个对象的类别,括号里面通过jproperty:=value的形式告诉QTP识别该对象的必要属性.我们继续修改一下测试脚本:

    Dialog("Login").WinButton("text:=OK").Click

    修改后:

    Dialog("Login").WinButton("nativeclass:=Button","text:=OK").Click

    F5执行,结果运行顺利.这次修改,我们使用了一个通用的对象类WinObject,而把按钮当作一个基本属性nativeclass:=Button,同样可以完成对该按钮的操作


TAG:

 

评分:0

我来说两句

Open Toolbar