在QTP中使用RegisterUserFunc

2021-09-02 08:51:18 字數 813 閱讀 2153

registeruserfunc在qtp的幫助文件中可以看到,作用是用來自定義qtp物件下的方法。在實際的工作中這個方法是經常用到的,因為它能幫我們節省不少的時間。比如qtp的「set」,這是個用來向輸入框中填入數值的方法,object.set "***",這個方法在實際應用中可能會帶來不便,比如實現修改操作的測試。首先測試用例中如果描述只針對個別字段進行修改操作;然後你的測試框架又對修改頁面整個進行了整個封裝(做成了乙個方法,以便於重用)。這時出現的問題是,你需要把所有的字段都輸上值,而個別值需要改動。原因很清楚了,因為如果你只輸入要修改的字段的值而不輸入不要修改的字段時,set方法也會將字段至為空(object.set "")。可以想象這樣的工作量是龐大的,因為誰都不想記錄新增時的資訊。。那麼我們需要在測試框架中進行稍微的改造。需要實現:當輸入「」時不做任何操作,但是這樣又會出現乙個問題,如果想將字段值為空怎麼辦?需求是填入乙個關鍵字來標識為空,比如「empty」這樣我們的需求就明確了。下面方法是我針對我目前的框架進行的修改,希望對看了這篇文章的你有所啟發。

public function user_set(test_object,val)

if len (val)<>0 then 

if lcase(val)="empty" then

val=""

end if

test_object.set val

end if

end function

user_set 是改造後的方法,用過qtp提供的registeruserfunc方法覆蓋其原本的set方法就好了 

registeruserfunc "webedit","set","user_set"

在QTP中使用Dictionary物件

vbscript的dictionary 物件與perl的關聯陣列 associative array 類似,其中儲存的內容可以是任何資料,每乙個儲存的資料都與乙個唯一的鍵 key 關聯,鍵用於獲取每一項資料,鍵通常是整型或字串型別。在qtp中,可以把dictionary 當成陣列來用,而且可以隨時新...

在QTP中使用Dictionary物件

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!vbscript的dictionary 物件與perl的關聯陣列 associative array 類似,其中儲存的內容可以是任何資料,每乙個儲存的資料都與乙個唯一的鍵 key 關聯,鍵用於獲取每一項資料,鍵通常是整型或字串型別。在qtp中,可以...

在QTP的Select方法中使用正規表示式

方法1 function regexselectqtp object,spattern dim oregexp,arrallitems,ix create regexp object set oregexp new regexp oregexp.ignorecase false oregexp.pa...