关闭

自定义QTP保留对象的神话(二)

发表于:2008-11-07 17:45

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

 作者:裴明哲    来源:51Testing投稿

  在专家视图中调用

图4.2

  便捷的控制自动完成(auto-complete)和代码智能感知功能,我们可以大声的说,QTP的功能我们也可以实现了。

图4.3

  方便的参数说明提示,使你更容易理解参数说明的意义,使用起来一目了然,你不用了解函数库里面封装的具体内容和死记函数名称,你只需输入”.”,QTP就会自动给出你友好的提示。

图4.4

  小结

  通过以上图示我们完成了自己封装的DLL函数的自动显示和调用,这样不仅减少了我们设计代码的时间,更大的好处是给开发测试代码人员提示功能,往往一个项目中,公用函数库都是由一个到两个工程师来开发完成的,如果做成VBS或者DLL文件,那我们每次调用的时候都需要加入如下语句来完成库的加载:

ExecuteFile "F:\xxx.vbs" ‘装载VBS文件
Extern.Declare micLong, "Beep", "kernel32.dll", "Beep", micLong   ‘装载dll文件
Extern.Beep 500

  以上两条语句不仅费时,而且点击“.” 后也不能控制自动完成(auto-complete)和代码智能感知,并且开发脚本人员必须特别熟悉库中的函数和过程的具体含义才能使用,库函数多了,开发脚本人员使用某个函数时,都需要进行查找,这样既不方便也不快捷,而且会大大增加了项目的工作量,所以通过我们的研究方法,完全可以按照自定义QTP保留对象来完成函数库的整合,这样开发脚本人员在使用的时候只需要知道我们的保留对象名称即可。

  总之,本文介绍了自定义QTP保留对象和注册COM对象对象的方法,其实QTP所支持的方法不仅仅如此,还有很多东西值得我们探索和研究,在自动化测试的道路上,只要我们大家为了一个共同的目的,提高自动化测试规范和流程,实现代码更高的效率,那我们会创造一个又一个神话!!!

版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像。51Testing软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜,请联系我们

 

相关文章:

自定义QTP保留对象的神话(一)

22/2<12
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • dqf
    2012-3-15 16:48:49

    改动函数为:
    Public Function EnterNode(ByRef NodeName, ByRef NodeContent)
       Set dicMetaDescription=CreateObject("Scripting.Dictionary")
    dicMetaDescription("Status")=MicDone
            dicMetaDescription("PlainTextNodeName")=NodeName
            dicMetaDescription("StepHtmlInfo")=NodeContent
            dicMetaDescription("DllIconIndex")=210
            dicMetaDescription("DllIconSelIndex")=210
            dicMetaDescription("DllPATH")="C:\Program Files\HP\QuickTest Professional\bin\ContextManager.dll"
            intContext=Reporter.LogEvent( "User", dicMetaDescription, Reporter.GetContext)
            Reporter.SetContext intContext
    End Function

    Public Function ExitNode
                    Reporter.UnSetContext
    End Function

  • dqf
    2012-3-15 16:46:33

    将函数做了一下改动,运行时报错,提示:需要对象。
    成功注册后在QTP中也能看到,调用的语句为:
    MyObject.EnterNode"父节点","Hello"
    Reporter.ReportEvent micPass,"Step1","Step1 Pass!"
    Reporter.ReportEvent micWarning,"Step2","Step2Pass With Warnning!"
    Reporter.ReportEvent micFail,"Step3","Step3Fail!"
    MyObject.ExitNode
    MyObject.EnterNode"另一个节点","Hi"
    Reporter.ReportEvent micPass,"Step4","Step4 Pass!"
    Reporter.ReportEvent micPass,"Step5","Step5 Pass!"
    MyObject.ExitNode
    Reporter.ReportEvent micPass,"Case3","Case3 Pass!"

  • dqf
    2012-3-15 16:41:08

    刚发表的成功了没呀?

  • lantianwei
    2008-11-07 21:52:25

    不错!

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号