QTP物件庫管理

NO IMAGE

QTP中,如果不能有效的管理物件,將大大加大後期指令碼的維護成本。我們需要的是一個乾淨整潔的物件庫,但由於QTP本身對於物件的管理操作的侷限性,我們只有運用有限的方法,來應對無限的可能發生的情況。

在錄製過程中,QTP將抓取大量的WEB物件(包括Button、Link、text等),有些物件是重複出現的,可以重複利用。但如果不及時清理這些冗餘的物件,勢必造成物件庫臃腫和複雜。

下面,我們制定了一系列規範,來管理我們的物件庫
在QTP通過執行指令碼中的語句來識別WEB頁面中的物件,指令碼語句包括Browser(Main、Sub_O、Sub_T)、Page、***(控制元件型別:如WebEdit、WebButton等)

我們規定:
1)Browser只允許出現3種,即主頁面(Main),次頁面(Sub_O)、第三頁(Sub_T),其中主頁面Main沒有creatontime標記,次頁面Sub_O的creatontime標記值為1,第三頁面Sub_T的Sub_Ocreatontime標記值為2

2)Page頁的名稱需和頁面的Title對應

3)出現重複的物件,需要合併到(運用MI公司提供的QuickTest Plus中的外掛Repositories Merge Utility合併)

實現步驟: a、設定環境變數:“Test settings”->”Environment”
                b、Variable type:User-defined
                c、Click “New”
                d、input “name”、“Value”
                (such as->name:ObjectPath_Product)
                e、save
                f、QTP指令碼中寫語句讀取環境變數:
                ( Such as->ObjectPath = Environment.Value    (“ObjectPath_Product”)
                   Call SetObjectRepository(ObjectPath)
               )
                g、用VB寫函式,用於呼叫物件庫
                (見如下程式碼),VB函式可以寫在字尾名為VBS的檔案中
                h、在QTP中載入物件庫檔案:
                  “Test settings”->”Resources”
                  在”Object repository type”中載入物件庫檔案
                  點選“Set as Default”
               i、 h、在QTP中載入VB函式:
                  “Test settings”->”Resources”
                  在”Associated library files”中載入VBS函式檔案
                  點選“Set as Default”

注:1)這裡的Value我們可以輸入物件庫的存放地址,用於把檔案地址傳到QTP指令碼中