QTP函数重载 RegisterUserFunc

上一篇 / 下一篇  2014-01-07 17:44:14 / 个人分类:自动化测试

大家都知道,在vbs中没有提供函数重载的功能,在很大程度上造成了开发脚本的不方便,其实在QTP中是可以将方法进行重载的,在QTP帮助里有很详细的说明

1、RegisterUserFunc

原型:

RegisterUserFunc TOClass, MethodName, FunctionName, SetAsDefault

TOClass:测试对象

MethodName:需要被重载的方法

FunctionName:封装的函数名

SetAsDefault:是否作为测试对象的标准方法

2、UnRegisterUserFunc

原型:

UnRegisterUserFunc TOClass, MethodName

TOClass:测试对象

MethodName:需要被重载的方法

例子:

 

Function MySet (obj, x)

dim y

y = obj.GetROProperty("value")

Reporter.ReportEvent micDone, "previous value", y

MySet=obj.Set(x)

End Function

RegisterUserFunc "WebEdit", "Set", "MySet"

Browser("MercuryTours").Page("FindFlights").WebEdit("Country").Set "Canada"

UnRegisterUserFunc "WebEdit", "Set"

以上例子是将WebEdit的set方法重载,在set之前生成报告,显示set之前的值。UnregisterUserFunc执行后,恢复标准的set方法。

在该例子中,Function MySet (obj, x)的obj为WebEdit("Country"),x为Canada。脚本在运行Browser("MercuryTours").Page("FindFlights").WebEdit("Country").Set "Canada"这句时,调用Function MySet (obj, x)函数。



TAG: QTP

 

评分:0

我来说两句

ftdtest

ftdtest

For The Dream 以此记录一个测试界的Green hand 的成长历程

日历

« 2024-04-21  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 29623
  • 日志数: 37
  • 书签数: 14
  • 建立时间: 2013-10-13
  • 更新时间: 2014-02-07

RSS订阅

Open Toolbar