一.QTP識別對象的原理
QTP要求先在倉庫文件里定義倉庫對象,里面存有實際對象的特征屬性的值,運行的時候,QTP會根據倉庫對象的特征屬性描述,尋找到實際對象,然后操作實際對象。
倉庫對象TO一般在錄制/編寫腳本時加入倉庫文件,它不僅可以在編寫時進行修改,也可以在運行過程中進行動態修改,以匹配實際對象。
相關的幾個函數有:
GetTOProperty():取得倉庫對象的某個屬性的值
GetTOProperties():取得倉庫對象的所有屬性的值
SetTOProperty():設置倉庫對象的某個屬性的值
GetROProperty():取得實際對象的某個屬性的值
理解了TO的含義,你就可以自由的用SetTOProperty()定義TO,以靈活的操作RO
比如有個測試任務,窗口上有很多待檢查的記錄,每條記錄右邊都有一個Check按鈕,用來檢查各條記錄。
記錄個數不定,所以Check按鈕個數也就不定,只有一個Edit顯示記錄個數。
我們要對每條記錄進行檢查,也就是要點擊每個Check按鈕。
但是Check按鈕個數不定,不好錄制,而且個數可能也很多(上百個),即使能一一錄制,那也很麻煩。
那我有一個好辦法,只錄制一個按鈕對象,它設有兩個特征屬性 label=OK, index=0然后用下面的腳本,就可以完成測試
buttonNum = CInt(JavaWindow("Test\").JavaEdit("Record Num").GetROProperty("value"))
For buttonIndex = 0 to buttonNum - 1
JavaWindow("Test").JavaButton("Check").SetTOProperty("index", buttonIndex)
JavaWindow("Test").JavaButton("Check").Click
Next
或者窗口上有New、Modify、Delete、Check等好幾個按鈕,要把這幾個按鈕一一按過去
原文轉自:http://www.anti-gravitydesign.com