QTP中實現函數重載

在VBS中沒有提供函數重載的功能,很大程度上造成了開發腳本的不便,但是在QTP中是可以將方法重載的。

兩個方法:

1.註冊
    RegisterUserFunc TOClass, MethodName, FunctionName, [SetAsDefault]

  • TOClass: 測試對象
  • MethodName: 需要被重載的方法
  • FunctionName: 封裝的函數名
  • SetAsDefault: 是否作爲測試對象的標準方法

2.反註冊
    UnRegisterUserFunc TOClass, MethodName

  • TOClass: 測試對象
  • MethodName: 需要被釋放重載的方法

實例:
    對一個WebEdit的Set方法進行封裝並重載,希望在這個WebEdit賦值前先記錄下之前的值,代碼如下:

Function MySet(obj,x)
   Dim y
   y=obj.GetROProperty("value")
   Reporter.ReportEvent micDone,"Input a new value","The previous value is: "&y&";The current input value is :"&x
   MySet=obj.Set(x)
End Function
 
RegisterUserFunc "WebEdit","Set","MySet"
Browser("micClass:=Browser").Page("micClass:=Page").WebEdit("micClass:=WebEdit","name:=wd").Set "Google"
UnRegisterUserFunc "WebEdit","Set"
標籤:

發佈了28 篇原創文章 · 獲贊 5 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章