自定义
QTP保留对象的神话(一)
发布时间: 2008-11-07 17:31 作者: 裴明哲 来源: 51Testing投稿
摘要:QTP包含了很多保留对象,其实我们可以将所有使用的方法封装成DLL文件,然后通过COM机
制注册到系统中,注册自定义保留对象机制来完成对象的定义。
关键字:QTP保留对象,COM机制
大家在使用QTP的过程中经常会用到函数或过程,一般情况下大家将这些函数写到一个文件中如:
xxx.vbs中,或者直接封装成DLL文件,通过QTP的函数(ExecuteFile)来载入这些已经声明的函数和过程,
然后进行具体调用。这样对于大家的使用并不方便和快捷,所以本人就展开了对于自定义QTP保留对象的
研究。
一、在VB环境下新建一个DLL文件
1、打开VB6.0环境,新建如下工程
图1.1
2、简单设计一个函数和一个过程,代码如下:
‘*****************************
‘函数功能:比较两个数是否相等‘输入参数:Para1、Para2
‘输出参数:弹出提示
‘*****************************
Public Function CompareValue(Para1, Para2)
If Para1 = Para2 Then
MsgBox "输入的两个参数相等", vbInformation + vbOKOnly, "提示"
Else
MsgBox "输入的两个参数不相等", vbInformation + vbOKOnly, "提示"
End If
End Function
3、设置工程属性
图中1.3
上图所示:
红色标注1、表示类名,设置为:ClassName,注册自定义保留对象用到。
红色标注2、表示工程名,设置为:PrjName,注册自定义保留对象用到。
4、生成文件:PrjName.dll
点击文件——>生成 PrjName.dll
二、 注册DLL文件为标准的COM组件
如果文件放到F盘下,那运行:regsvr32 f:\PrjName.dll就可以完成注册,撤销注册运行:regsvr32 /u
f:\PrjName.dll。注册完成后,注册表HKEY_CLASSES_ROOT中查询PrjName.ClassName如下:
你可以点击每一个文件夹查询选项的值。
注册自定义QTP保留对象
将自己的所自定义的保留对象注册到注册表中,这个并不是QTP所包含的保留对象,而是自己设计的
保留对象,用VB写的类和函数是可注册的COM对象。操作如下:
打开注册表,定位注册项:
图3.1
添加一个名为“MyObject”的注册项;
添加两个“REG_SZ”类型的注册项,分别为:
ProgID:准备创建的COM 对象的ID,在这里就是Dictionary 对象所对应的COM 对 象名
“PrjName.ClassName”。这个就是前面提到的VB中的工程名、类名。 UIName:QTP指向保留对象的名
字,在这里输入“MyObject”
添加一个类型为“REG_DWORD”的注册项;
VisibleMode:设置DWORD 值为2,用于控制自动完成(auto-complete)和代码智能感知
(intelligence)。
使用自定义QTP保留对象
做完以上设置后,重新启动QTP,然后分为两种使用方式
在关键字视图中调用
在Insert菜单中选择Step Generator,然后选择Utility Objects,你可以在Object中看到我们定义的
保留对象,如下显示:
图4.1