51Testing丛书连载:(五十二)精通QTP——自动化测试技术领航

发表于:2012-2-24 10:42

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:余杰 赵旭斌    来源:51Testing软件测试网

3.9.3  纯VBS调用API实现简单GUI自动化

  在本章的最开始已经提到过了VBS是不可能直接实现调用Win32 API的,因此,QTP才提供了一个Extern接口方法供自动化测试工程师调用。而且,本人其实已经说明了Extern是QTP中的一个保留对象,既然是保留对象,那就一定可以在注册表中找到它创建此COM对象所对应的ProgID,如图3-114所示。

图3-114

  从图3-114中可以看见Extern的ProgID值已经被暴露出来了,并且可以通过Icons项来找到相应的库路径:D:\Program Files\HP\QuickTest Professional\bin\MicExternCall.dll,这就可以通过CreateObject创建一个新的Extern实例作为独有的对象了,QTP启动时即调用的保留对象。它具体有什么样的好处呢,一起来看一下,直接在VbsEdit中创建此ActiveX com对象。

'创建Extern对象的会话实例

Set Extern = CreateObject("Mercury.ExternObj")

  在写入以上脚本之后,可以在VbsEdit中的Object Browser下找到已经实例化的对象,如图3-115所示。

图3-115

  同时在使用此对象时,VbsEdit会自动加载相应的属性,如图3-116所示。

图3-116

  注意:如果是第一次在VBS中直接创建此对象,可能会出现问题,需要先注册此DLL或者直接在VbsEdit的References中进行注册,如图3-117所示。

图3-117

 

  如图3-117所示,在VbsEdit中引用需要的库后,工具会自动帮助我们进行注册,注册完毕之后即可直接在VBS中运行调用,包括QTP关闭状态下。一起来看几个简单的例子。

31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号