千家信息网

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

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,在实际的自动化脚本开发过程中,发现QTP提供的方法不够用,但幸好QTP的扩展性很强,RegisterUserFunc函数;RegisterUserFunc函数既可以用户自定义函数也可以重写已有的方法R
千家信息网最后更新 2026年11月02日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


方法 函数 运行 代码 环境 脚本 并将 对象 专家 例子 动态 名称 报告 封装 输入 一行 不够 作者 实际 思路 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海喔噻互联网科技有限公司 西安纸贵互联网科技有限公司 湖南永感互联网科技有限公司 期待互联网科技 兼蜜互联网科技 互联网科技博客 海南购全球互联网科技 哈尔滨新华互联网科技学院 宁波青枫互联网科技有限公司 互联网教育科技公司vipkid 团飞科技与伯堂互联网服务平台 链环科技传统企业怎么转型互联网 互联网公司黑科技创始人 东莞新华互联网科技学校 爱医互联网络科技 互联网领先科技宣传片 上海创道互联网络科技有限公司 互联网科技接地气 艺电能源互联网科技有限公司招聘 河南商务圈互联网科技有限公司 天下捷融互联网科技 金融科技与互联网金融相同和不同 岳阳华臻互联网科技有限公司 崇明区互联网教育科技售后服务 朱啸虎曾投资哪些互联网科技企业 伍佰万互联网科技怎么赚钱 互联网科技资金流入 信承诺互联网科技有限公司 数字互联网科技有限公司 科技互联网专业务虚会材料
0