自动化测试专家,专注于自动化测试领域的框架开发及国外最新自动化技术,担任过银行、电子商务等项目的自动化测试工作,精通自动化测试工具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
/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^
51Testing软件测试网?0L]&QBIC;vD
函数指针是非常重要的技术,在后续的讲座中介绍设计模式、命令包装以及事件处理中都会使用到此技术。
51Testing软件测试网:?$g4Iq/h_9a Gv
收藏
举报
TAG:
getref
iquicktest
QTP
qtp