如何在 QTP 中使用 IntelliSense (智能敏感)访问自定义的 VBS 函数和对象?
由于 QTP 采用 VBS 作为脚本开发语言,具有天生的 OO 缺陷,在 IntelliSense 方面也由于 QTP 的 IDE 缺陷而造成脚本编写效率的降低。
下面介绍一种方法,通过 WSC 封装 VBS 脚本,注册成 COM 对象,然后添加到 QTP 保留对象注册表中,从而实现在 QTP 中 IntelliSense 访问。
( 1 )创建 WSC 文件
<?xml version="1.0"?>
<component>
<?component error="true" debug="true"?>
<reference object="Scripting.Dictionary" />
<registration description="Functions" progid="QTP.Functions" version="1.00" classid="{d 7c 40957-00d4 -41a 5-a87b-89d1db311423}">
</registration>
<public>
<method name="SetID" internalName="SetID" dispid="0">
<parameter name="sValue"/>
</method>
<method name="GetID">
</method>
<method name="PrintMessage">
<parameter name="strMessage"/>
</method>
</public>
<script language = "VBScript">
<![CDATA[
Dim pID
Function GetID()
GetID = pID
End Function
Function SetID(sValue)
pID = sValue
End Function
Function PrintMessage(strMessage)
Msgbox strMessage
End Function
]]>
</script>
</component>
( 2 )注册 WSC 文件
选中 WSC 文件,单击鼠标右键,选择“注册”
或者运行“ regsvr32 "D:/QTP/MyWork/IntelliSenseTest1/test.wsc" ”命令进行注册
( 3 )注册到 QTP 。
打开注册表,添加“ Functions ”项,以及 ProgID 、 UIName 。
( 4 )在 QTP 中使用 IntelliSense
重新启动 QTP 后就可以使用 WSC 文件中定义的函数。在专家视图中就可以使用“ Functions ”的 IntelliSense 功能,输入“ Functions ”加点号后,就会自动弹出其所有可用的属性和方法。
参考:
http://www.advancedqtp.com/knowledge-base/articles/qtp-tricks4/qtp-hacks/intellisense-and-com/