RegisterUserFunc为测试对象添加新方法或重写已有方法

在实际的自动化脚本开发过程中,发现QTP提供的方法不够用,但幸好QTP的扩展性很强,RegisterUserFunc函数;

RegisterUserFunc函数既可以用户自定义函数也可以重写已有的方法

RegisterUserFunc TOClass, 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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值