简单快乐的工作,生活!

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

上一篇 / 下一篇  2014-03-11 13:52:40 / 个人分类: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的默认值写入报告中
--------------------------例子2:重写wededit的set方法-------------
需求:
1.重写webedit的set方法,并将重写的方法作为默认操作
2.让set方法实现,为wededit赋值前获取webedit的默认值,并将该值写入reporter中
3.赋值后,获取webedit的编辑框的当前值,并将当前值写入reporter中
实现思路:
1.用vbs封装一个函数实现需求2、3的功能
2.利用RegisterUserFunc在qtp运行时环境中注册该函数
实现步骤:
1.以下代码是用vbs封装一个函数实现需求2、3的功能,并将该值写入reporter中。
将以下脚本保存为vbs文件,这里保存为test.vbs,保存于d:\
Sub SetValue(objWebEdit,InputValue)
WebEditDeafaultValue = objWebEdit.GetRoProperty("default value")
Reporter.ReportEvent micDone,"获取WebEdit默认值","默认值为:" & WebEditDeafaultValue
objWebEdit.Set InputValue
WebEditValue = objWebEdit.GetRoProperty("value")
Reporter.ReportEvent micDone,"获取WebEdit输入值","输入值为:" & WebEditValue
End Sub
2.加载函数test.vbs到qtp的运行时环境中
加载有动态加载和静态加载,此处采用静态加载的方式:
在qtp的file->settings -> resources ->libraryes 中添加步骤1中保存的test.vbs文件
3.在qtp运行时环境中注册重写的set方法
在qtp专家试图第一行输入如下代码(注意:第二个参数需要与qtp中被重写的方法同名):
RegisterUserFunc "WebEdit","Set","SetValue",True
4.webedit调用重写后的Set方法
Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Set "新输入的值"
打开百度首页,按照1-4部操作,运行qtp脚本,检查reporter报告中已将webedit的默认值和新输入的值写入报告中

TAG:

引用 删除 gen6243102   /   2015-12-17 18:45:37
重写后,原来的方法还能用吗
 

评分:0

我来说两句

我的栏目

日历

« 2024-04-11  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 12808
  • 日志数: 15
  • 书签数: 3
  • 建立时间: 2007-04-04
  • 更新时间: 2014-12-01

RSS订阅

Open Toolbar