軟件測試工具QTP中的Description對象詳解
QTP是Mercury QuickTest 企業級自動化測試工具!
目前已經被惠普收購,正式名字為HP QuickTest Professional software ,最新的版本為HP QuickTest Professional 10.0.
HP QuickTest Professional 提供符合所有主要應用軟件環境的功能測試和回歸測試的自動化。采用關鍵字驅動的理念已簡化測試用例的創建和維護。它讓用戶可以直接錄制屏幕上的操作流程,自動生成功能測試或者回歸測試用例。專業的測試者也可以通過提供的內置腳本和調試環境來取得對測試和對象屬性的完全控制。
在QTP中,description對象的用途基于這樣一個基礎:QTP是建立在對象識別基礎上的自動化測試工具,當需要操作一個對象時有三種方式:1,使用對象庫中已經記錄的控件名;2,使用描述性編程;3,使用description對象。
其實對于2和3的理解是類似的,也就是說,當QTP在執行過程中需要給他一個描述,即“我要操作誰”,對于第二種方式,是告訴QTP“你給我找一個控件對象,找到它可能需要經過幾層查找,但是我已經給定了每層查找的查找條件”;對于第三種方式,一般是這樣告訴QTP,“我現在有某個控件對象,你幫我查找某些符合條件的孩子”
上面說起來有點拗口,其實就是下面兩種那個方式:
方式1
Browser("title:=Google").Page("title:=Google").Link("text:=Google").click |
方式2
Dim oDesc Dim colObject Set oDesc = Description.Create oDesc( "micclass" ).value = "Link" Set colObject = Browser( "title:=Google").Page("title:=Google").ChildObjects( oDesc ) |
那么我們在使用description對象時經常需要注意的點有:
1. 創建一個description對象的方法是:
Set oDesc = Description.Creates |
2. 設置查找條件的方法是:
Set oDesc = Description.Create oDesc( "micclass" ).value = "Link" oDesc( "text" ).value = "Images" |
3. 看一個對象是否找到以及是否查找正確你可以有兩種方法:
高亮查找到的控件:colObject(0).Highlight檢查查找到的控件個數:Msgbox colObject.Count
4. 給定限定條件你也可以使用正則表達式,不過注意設置開關打開:
Set oDesc = Description.Create oDesc( "micclass" ).value = "Link" oDesc( "text" ).value = "I.*age.*" oDesc( "text" ).regularExpression = True |
注意:默認情況下正則表達式的開關是打開的
如果你這里正則表達式的開關設置成為了false,那么你查找到的是text屬性為“I.*age.*”的link。
5. 注意某些description的成員設置屬性值時,需要使用整型數,而非字符串。
Dim oDesc Dim colObject Set oDesc = Description.Create oDesc( "micclass" ).value = "Link" oDesc( "x" ).value = 51 Set colObject = Browser( "title:=Google").Page("title:=Google").ChildObjects( oDesc ) MsgBox colObject.Count For x = 0 to colObject.Count - 1 MsgBox colObject(x).GetROProperty("innertext") Next |
6. 限定條件可以參數化
Dim x X=56 Browser("creationtime:="&x).Page("micclass:=Page").WebEdit("name:=q").Set "Description.Create" |
文章來源于領測軟件測試網 http://www.kjueaiud.com/