在实际的自动化脚本开发过程中,发现QTP提供的方法不够用,但幸好QTP的扩展性很强,RegisterUserFunc函数;
RegisterUserFunc函数既可以用户自定义函数也可以重写已有的方法
RegisterUserFunc TOClass, MethodName, FunctionName, SetAsDefault
说明:
TOClass 想要注册方法的对象
MethodName 想要注册的方法名称,不能有空格
FunctionName 函数中自定义的函数名称
SetAsDefault 是否要注册为对象的默认操作,值为:False,或者True
TOClass 想要注册方法的对象
MethodName 想要注册的方法名称,不能有空格
FunctionName 函数中自定义的函数名称
SetAsDefault 是否要注册为对象的默认操作,值为:False,或者True
------------------------例子1:为webedit添加新方法----------------
需求:
1.为webedit添加一个方法,方法名为"NewMethod1"
2.该方法实现获取webedit的默认值,并将该值写入reporter中
需求:
1.为webedit添加一个方法,方法名为"NewMethod1"
2.该方法实现获取webedit的默认值,并将该值写入reporter中
实现思路:
1.用vbs封装一个方法实现获取webedit的默认值,并将该值写入reporter中
2.利用RegisterUserFunc在qtp运行时环境中注册该函数
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
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"
加载有动态加载和静态加载,本例采用动态加载方式
在qtp专家试图第一行输入如下代码:
executefile "d:\test.vbs"
3.在qtp运行时环境中注册函数
在qtp专家试图第二行输入如下代码:
RegisterUserFunc "WebEdit","NewMethod1","GetDeafaultValue"
在qtp专家试图第二行输入如下代码:
RegisterUserFunc "WebEdit","NewMethod1","GetDeafaultValue"
打开百度首页,按照1-4部操作,运行qtp脚本,检查reporter报告中已将webedit的默认值写入报告中.
上例本作者未自己再动手写相关的例子,摘自:
http://www.51testing.com/?uid-306685-action-viewspace-itemid-829971