![](/upload/ad_content/xuanchuantu-27.jpg)
在裕华等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站制作、做网站 网站设计制作按需策划,公司网站建设,企业网站建设,品牌网站设计,全网营销推广,成都外贸网站建设公司,裕华网站建设费用合理。
在实际的自动化脚本开发过程中,发现QTP提供的方法不够用,但幸好QTP的扩展性很强,RegisterUserFunc函数;
RegisterUserFunc函数既可以用户自定义函数也可以重写已有的方法
RegisterUserFuncTOClass, MethodName, FunctionName, SetAsDefault
说明:
TOClass 想要注册方法的对象
MethodName 想要注册的方法名称,不能有空格
FunctionName 函数中自定义的函数名称
SetAsDefault 是否要注册为对象的默认操作,值为:False,或者True
------------------------例子1:为webedit添加新方法----------------
需求:
1.为webedit添加一个方法,方法名为"NewMethod1"
2.该方法实现获取webedit的默认值,并将该值写入reporter中
实现思路:
1.用vbs封装一个方法实现获取webedit的默认值,并将该值写入reporter中
2.利用RegisterUserFunc在qtp运行时环境中注册该函数
实现步骤:
1.以下代码是用vbs封装一个方法实现获取webedit的默认值,并将该值写入reporter中。
将以下脚本保存为vbs文件,这里保存为test.vbs,保存于d:\
Sub GetDeafaultValue(objWebEdit)
WebEditDeafaultValue = objWebEdit.GetRoProperty("default value")
Reporter.ReportEvent micDone,"获取WebEdit的默认值","默认值为:" & WebEditDeafaultValue
End Sub
2.加载函数test.vbs到qtp的运行时环境中
加载有动态加载和静态加载,本例采用动态加载方式
在qtp专家试图第一行输入如下代码:
executefile "d:\test.vbs"
3.在qtp运行时环境中注册函数
在qtp专家试图第二行输入如下代码:
RegisterUserFunc "WebEdit","NewMethod1","GetDeafaultValue"
4.webedit调用新注册的NewMethod1方法
Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").NewMethod1
打开百度首页,按照1-4部操作,运行qtp脚本,检查reporter报告中已将webedit的默认值写入报告中.
上例本作者未自己再动手写相关的例子,摘自:
http://www.51testing.com/?uid-306685-action-viewspace-itemid-829971
网页名称:RegisterUserFunc为测试对象添加新方法或重写已有方法
网页链接:
http://bjjierui.cn/article/gohjdc.html