`
isiqi
  • 浏览: 15995344 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

【软件测试自动化-QTP系列讲座 20】 == 利用函数指针重写QTP方法 ==

阅读更多

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

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

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

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

  • 实例

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

image

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

'定义变量
Dim print
'定义函数
Function helloworld(content)
msgbox content
End Function
'把PRINT的指针指向HELLOWORLD函数
Set print=GetRef("helloworld")
'调用HELLOWROLD函数,此时PRINT方法已被重写
print "zzxxbb112"

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

image

  • 总结

函数指针是非常重要的技术,在后续的讲座中介绍设计模式、命令包装以及事件处理中都会使用到此技术。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics