天天看點

QTP識别對象和操作對象的原理

1.QTP識别對象的原理

 QTP裡的對象有兩個概念,一個是Test Object(簡稱TO),一個是Runtime Object(簡稱RO).TO就是是倉庫檔案裡定義的倉庫對象,RO是被測試軟體的實際對象. QTP識别對象,一般是要求先在對象倉庫檔案裡定義倉庫對象,裡面存有實際對象的特征屬性的值。 然後在運作的時候,QTP會根據腳本裡的對象名字,在對象倉庫裡找到對應的倉庫對象,接着根據倉庫對象的特征屬性描述,在被測試軟體裡搜尋找到相比對的實際對象,最後就可以對實際對象進行操作了。倉庫對象TO一般在錄制/編寫腳本時加入倉庫檔案,它不僅可以在錄制編寫時進行修改,也可以在運作過程中進行動态修改,以比對實際對象。和TO、RO相關的幾個函數有:

GetTOProperty():取得倉庫對象的某個屬性的值  

GetTOProperties():取得倉庫對象的所有屬性的值 GetROProperty():取得實際對象的某個屬性的值

SetTOProperty():設定倉庫對象的某個屬性的值 2.QTP操作對象的原理   QTP為使用者提供了兩種操作對象的接口,一種就是對象的封裝接口,另一種是對象的自身接口。對象的 自身接口是對象控件本身的接口,隻要做過軟體開發,使用過控件的人應該很清楚。對象的封裝接口 是QTP為對象封裝的另一層接口,它是QTP通過調用對象的自身接口來實作的。 兩種接口的腳本書寫格式的差别在于:   自身接口需要在對象名後面加object再加屬性名或方法名,   封裝接口就不用在對象名後面加object。 具體格式如下:   對實際對象的操作:       對象.object.自身屬性       對象.object.自身方法()       對象.GetROProperty("封裝屬性")       對象.封裝方法()   對倉庫對象的操作:       對象.GetTOProperty("封裝屬性")       對象.GetTOProperties()      ’擷取所有封裝屬性的值       對象.SetTOProperty("封裝屬性", "封裝屬性值")