QTP对象TO与RO
生活随笔
收集整理的這篇文章主要介紹了
QTP对象TO与RO
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
[quote][url]http://www.51testing.com/?uid-286520-action-viewspace-itemid-806857[/url][/quote]
測試對象(Test Object)和運行時對象(RunTime Object)兩者的差別,前者是本地對象庫的對象,后者是運行時實際的對象
測試對象(TO)和運行時對象(RO)
和TO、RO相關的幾個函數有:
GetTOProperty():取得倉庫對象的某個屬性的值
GetTOProperties():取得倉庫對象的所有屬性的值
SetTOProperty():設置倉庫對象的某個屬性的值
GetROProperty():取得實際對象的某個屬性的值
通常用法:用SetTOProperty()定義TO,以靈活的操作RO
此處很重要,由于共享對象庫經常被人修改,所以在運行時通過SetTOProperty()方法定義此時的對象庫TO,使得對象庫的屬性值處于可控中,以解決:共享對象庫的修改和管理問題
注意:SetTOProperty()方法,修改的對象屬性是臨時的,且在運行時
另外用法:單用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等好幾個按鈕,要把這幾個按鈕一一按過去
我在對象倉庫里只設置一個按鈕對象AnyButton,label特征屬性值填任意值,然后用下面腳本執行測試
JavaWindow(\"Test\").JavaButton(\"AnyButton\").SetTOProperty(\"label\", \"New\")
JavaWindow(\"Test\").JavaButton(\"AnyButton\").Click
JavaWindow(\"Test\").JavaButton(\"AnyButton\").SetTOProperty(\"label\", \"Modify\")
JavaWindow(\"Test\").JavaButton(\"AnyButton\").Click
JavaWindow(\"Test\").JavaButton(\"AnyButton\").SetTOProperty(\"label\", \"Delete\")
JavaWindow(\"Test\").JavaButton(\"AnyButton\").Click
JavaWindow(\"Test\").JavaButton(\"AnyButton\").SetTOProperty(\"label\", \"Check\")
JavaWindow(\"Test\").JavaButton(\"AnyButton\").Click
如上面兩個任務,采用描述性編程方法,可以如下實現
1. 不需要在倉庫里定義Check按鈕對象,直接用下面腳本來實現測試
buttonNum = CInt(JavaWindow(\"Test\").JavaEdit(\"Record Num\").GetROProperty(\"value\"))
For buttonIndex = 0 to buttonNum - 1
JavaWindow(\"Test\").JavaButton(\"label:=Check\", \"index:=\"+CStr(buttonIndex)).Click
Next
2. 不需要在倉庫里定義New、Modify、Delete、Check按鈕對象,直接用下面腳本來實現測試
JavaWindow(\"Test\").JavaButton(\"label:=New\").Click
JavaWindow(\"Test\").JavaButton(\"label:=Modify\").Click
JavaWindow(\"Test\").JavaButton(\"label:=Delete\").Click
JavaWindow(\"Test\").JavaButton(\"label:=Check\").Click
測試對象(Test Object)和運行時對象(RunTime Object)兩者的差別,前者是本地對象庫的對象,后者是運行時實際的對象
測試對象(TO)和運行時對象(RO)
和TO、RO相關的幾個函數有:
GetTOProperty():取得倉庫對象的某個屬性的值
GetTOProperties():取得倉庫對象的所有屬性的值
SetTOProperty():設置倉庫對象的某個屬性的值
GetROProperty():取得實際對象的某個屬性的值
通常用法:用SetTOProperty()定義TO,以靈活的操作RO
此處很重要,由于共享對象庫經常被人修改,所以在運行時通過SetTOProperty()方法定義此時的對象庫TO,使得對象庫的屬性值處于可控中,以解決:共享對象庫的修改和管理問題
注意:SetTOProperty()方法,修改的對象屬性是臨時的,且在運行時
另外用法:單用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等好幾個按鈕,要把這幾個按鈕一一按過去
我在對象倉庫里只設置一個按鈕對象AnyButton,label特征屬性值填任意值,然后用下面腳本執行測試
JavaWindow(\"Test\").JavaButton(\"AnyButton\").SetTOProperty(\"label\", \"New\")
JavaWindow(\"Test\").JavaButton(\"AnyButton\").Click
JavaWindow(\"Test\").JavaButton(\"AnyButton\").SetTOProperty(\"label\", \"Modify\")
JavaWindow(\"Test\").JavaButton(\"AnyButton\").Click
JavaWindow(\"Test\").JavaButton(\"AnyButton\").SetTOProperty(\"label\", \"Delete\")
JavaWindow(\"Test\").JavaButton(\"AnyButton\").Click
JavaWindow(\"Test\").JavaButton(\"AnyButton\").SetTOProperty(\"label\", \"Check\")
JavaWindow(\"Test\").JavaButton(\"AnyButton\").Click
如上面兩個任務,采用描述性編程方法,可以如下實現
1. 不需要在倉庫里定義Check按鈕對象,直接用下面腳本來實現測試
buttonNum = CInt(JavaWindow(\"Test\").JavaEdit(\"Record Num\").GetROProperty(\"value\"))
For buttonIndex = 0 to buttonNum - 1
JavaWindow(\"Test\").JavaButton(\"label:=Check\", \"index:=\"+CStr(buttonIndex)).Click
Next
2. 不需要在倉庫里定義New、Modify、Delete、Check按鈕對象,直接用下面腳本來實現測試
JavaWindow(\"Test\").JavaButton(\"label:=New\").Click
JavaWindow(\"Test\").JavaButton(\"label:=Modify\").Click
JavaWindow(\"Test\").JavaButton(\"label:=Delete\").Click
JavaWindow(\"Test\").JavaButton(\"label:=Check\").Click
總結
以上是生活随笔為你收集整理的QTP对象TO与RO的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UltraEdit中OracleSQL的
- 下一篇: QTP11恢复30天试用破解