QTP对象TO与RO
生活随笔
收集整理的這篇文章主要介紹了
QTP对象TO与RO
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
[quote][url]http://www.51testing.com/?uid-286520-action-viewspace-itemid-806857[/url][/quote]
測試對象(Test Object)和運(yùn)行時(shí)對象(RunTime Object)兩者的差別,前者是本地對象庫的對象,后者是運(yùn)行時(shí)實(shí)際的對象
測試對象(TO)和運(yùn)行時(shí)對象(RO)
和TO、RO相關(guān)的幾個(gè)函數(shù)有:
GetTOProperty():取得倉庫對象的某個(gè)屬性的值
GetTOProperties():取得倉庫對象的所有屬性的值
SetTOProperty():設(shè)置倉庫對象的某個(gè)屬性的值
GetROProperty():取得實(shí)際對象的某個(gè)屬性的值
通常用法:用SetTOProperty()定義TO,以靈活的操作RO
此處很重要,由于共享對象庫經(jīng)常被人修改,所以在運(yùn)行時(shí)通過SetTOProperty()方法定義此時(shí)的對象庫TO,使得對象庫的屬性值處于可控中,以解決:共享對象庫的修改和管理問題
注意:SetTOProperty()方法,修改的對象屬性是臨時(shí)的,且在運(yùn)行時(shí)
另外用法:單用RO,獲取實(shí)際對象的屬性值
例子:有個(gè)測試任務(wù),窗口上有很多待檢查的記錄,每條記錄右邊都有一個(gè)Check按鈕,用來檢查各條記錄。記錄個(gè)數(shù)不定,所以Check按鈕個(gè)數(shù)也就不定,只有一個(gè)Edit顯示記錄個(gè)數(shù)。
我們要對每條記錄進(jìn)行檢查,也就是要點(diǎn)擊每個(gè)Check按鈕。
但是Check按鈕個(gè)數(shù)不定,不好錄制,而且個(gè)數(shù)可能也很多(上百個(gè)),即使能一一錄制,那也很麻煩。
那我有一個(gè)好辦法,只錄制一個(gè)按鈕對象,它設(shè)有兩個(gè)特征屬性 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等好幾個(gè)按鈕,要把這幾個(gè)按鈕一一按過去
我在對象倉庫里只設(shè)置一個(gè)按鈕對象AnyButton,label特征屬性值填任意值,然后用下面腳本執(zhí)行測試
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
如上面兩個(gè)任務(wù),采用描述性編程方法,可以如下實(shí)現(xiàn)
1. 不需要在倉庫里定義Check按鈕對象,直接用下面腳本來實(shí)現(xiàn)測試
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按鈕對象,直接用下面腳本來實(shí)現(xiàn)測試
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)和運(yùn)行時(shí)對象(RunTime Object)兩者的差別,前者是本地對象庫的對象,后者是運(yùn)行時(shí)實(shí)際的對象
測試對象(TO)和運(yùn)行時(shí)對象(RO)
和TO、RO相關(guān)的幾個(gè)函數(shù)有:
GetTOProperty():取得倉庫對象的某個(gè)屬性的值
GetTOProperties():取得倉庫對象的所有屬性的值
SetTOProperty():設(shè)置倉庫對象的某個(gè)屬性的值
GetROProperty():取得實(shí)際對象的某個(gè)屬性的值
通常用法:用SetTOProperty()定義TO,以靈活的操作RO
此處很重要,由于共享對象庫經(jīng)常被人修改,所以在運(yùn)行時(shí)通過SetTOProperty()方法定義此時(shí)的對象庫TO,使得對象庫的屬性值處于可控中,以解決:共享對象庫的修改和管理問題
注意:SetTOProperty()方法,修改的對象屬性是臨時(shí)的,且在運(yùn)行時(shí)
另外用法:單用RO,獲取實(shí)際對象的屬性值
例子:有個(gè)測試任務(wù),窗口上有很多待檢查的記錄,每條記錄右邊都有一個(gè)Check按鈕,用來檢查各條記錄。記錄個(gè)數(shù)不定,所以Check按鈕個(gè)數(shù)也就不定,只有一個(gè)Edit顯示記錄個(gè)數(shù)。
我們要對每條記錄進(jìn)行檢查,也就是要點(diǎn)擊每個(gè)Check按鈕。
但是Check按鈕個(gè)數(shù)不定,不好錄制,而且個(gè)數(shù)可能也很多(上百個(gè)),即使能一一錄制,那也很麻煩。
那我有一個(gè)好辦法,只錄制一個(gè)按鈕對象,它設(shè)有兩個(gè)特征屬性 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等好幾個(gè)按鈕,要把這幾個(gè)按鈕一一按過去
我在對象倉庫里只設(shè)置一個(gè)按鈕對象AnyButton,label特征屬性值填任意值,然后用下面腳本執(zhí)行測試
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
如上面兩個(gè)任務(wù),采用描述性編程方法,可以如下實(shí)現(xiàn)
1. 不需要在倉庫里定義Check按鈕對象,直接用下面腳本來實(shí)現(xiàn)測試
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按鈕對象,直接用下面腳本來實(shí)現(xiàn)測試
JavaWindow(\"Test\").JavaButton(\"label:=New\").Click
JavaWindow(\"Test\").JavaButton(\"label:=Modify\").Click
JavaWindow(\"Test\").JavaButton(\"label:=Delete\").Click
JavaWindow(\"Test\").JavaButton(\"label:=Check\").Click
總結(jié)
以上是生活随笔為你收集整理的QTP对象TO与RO的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UltraEdit中OracleSQL的
- 下一篇: s3c2440移植MQTT