自动化测试专家,专注于自动化测试领域的框架开发及国外最新自动化技术,担任过银行、电子商务等项目的自动化测试工作,精通自动化测试工具QTP、Watir等.并对QTP有过深入的研究,有过企业内训和工具培训经验,希望能与各位同行一起沟通,交流,探讨。 zzxxbb112@hotmail.com

【QTP系列讲座 20】 == 利用函数指针重写QTP方法 ==

上一篇 / 下一篇  2011-10-31 16:52:27 / 个人分类:QTP系列讲座

 Rss订阅IQuickTest关于如何订阅?51Testing软件测试网EbkT0oS1R5k

GoogleReader订阅地址: http://feeds.feedburner.com/iquicktest

51Testing软件测试网f cp$O*Wo

作者:zzxxbb112
时间:2009/11/23 版权所有,侵权必究。51Testing软件测试网8a)J S(h!ozOE0P-D0n

出处:http://blog.csdn.net/zzxxbb112

9\,|;AN/eR$cL+N0

    在上一章讲座中我们已经讲解了使用类函数来重写Reporter方法,在这一讲座中我们主要来讲解使用函数指针来重写QTP方法,在开始之前,建议大家首先完成以下两章的学习51Testing软件测试网!P4K3b FOvD

软件测试自动化-QTP系列讲座 19】 == 重写Reporter对象 == 
http://blog.csdn.net/zzxxbb112/archive/2009/11/19/4836822.aspx51Testing软件测试网zhP;j}

【软件测试自动化-VBScript基础讲座 5】== 函数指针 == 
http://blog.csdn.net/zzxxbb112/archive/2009/11/22/4853008.aspx

y!Z.Dl~+f `9t/C0

看完VBS系列第5章之后应该很清楚,我们可以定义一个变量通过GetRef将其指针指向函数的首地址,同样我们也可以使用此方法来将QTP内置的函数方法的指针指向我们自定义函数的首地址。

0rIMOXij+}0
  • 实例

    大家都知道QTP的print方法是直接打印出LOG,比如我们使用  print "zzxxbb112"

O9vC8@.W/~I w&PG ?0

image

/g:sSPb0

接下来我们就来看一段使用函数指针来重写print方法的实例

;D"_5K'P(pL(Q7\$H0

'定义变量 
Dim print 
'定义函数 
Function helloworld(content) 
   msgbox content 
End Function 
'把PRINT的指针指向HELLOWORLD函数 
Set print=GetRef("helloworld") 
'调用HELLOWROLD函数,此时PRINT方法已被重写 
print "zzxxbb112"51Testing软件测试网9E `5f/eM

此代码首先是定义了一个变量,变量名PRINT,注意此处故意定义print,这样才能重写print方法,接着定义个函数,很简单就一个消息框,然后通过GetRef把Print变量的指针指向helloworld函数,此时QTP原本的print方法已不存在了,只留下了指向helloworld方法的print方法,因此我们在执行以上代码后最终结果会执行HELLOWORLD方法,并弹出消息框51Testing软件测试网!D;H&D ~4G}9v5Hd^

image51Testing软件测试网?0L]&QBIC;vD

  • 总结

    函数指针是非常重要的技术,在后续的讲座中介绍设计模式、命令包装以及事件处理中都会使用到此技术。51Testing软件测试网:?$g4Iq/h_9aGv


TAG: getref iquicktest QTP qtp

 

评分:0

我来说两句

我的栏目

日历

« 2024-04-09  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 32197
  • 日志数: 49
  • 建立时间: 2009-10-17
  • 更新时间: 2011-10-31

RSS订阅

Open Toolbar