温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-06-25 18:09:02 来源:网络 阅读:664 作者:51CTO_李晓鹏 栏目:软件技术

在实际的自动化脚本开发过程中,发现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


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI