QTP自動化測試權威指南(3)

發表于:2015-11-25來源:uml.org.cn作者:不詳點擊數: 標簽:QTP自動化測試
提示:QTP不提供修改運行時對象屬性的方法。換言之,沒有SetROProperty這個方法。同樣, 不同的測試對象都有一個它支持的屬性列表,在QTP幫助的對象模型

  提示:QTP不提供修改運行時對象屬性的方法。換言之,沒有SetROProperty這個方法。同樣, 不同的測試對象都有一個它支持的屬性列表,在QTP幫助的對象模型參考中可以找到。

  對象庫模式

  有兩種對象庫,更確切的說是對象庫模式。

  圖 3-5. 每個Action的對象庫設置

  每個Action對應的公共對象庫

  對象探測器 (Object Spy)

  對象探測器是用來查看對象所支持的方法和屬性。啟動對象探測功能:Tool->Object Spy…

  點擊指針按鈕,然后選擇一個對象。當選擇了Test Object Properties按鈕,屬性標簽頁中就會顯示出所有可得到的TO屬性,并且在方法標簽頁中會顯示所有可獲得的方法,如圖3-6

  圖 3-6. 對象探測對象屬性

  若選擇了Run-time Object Properties按鈕,那么將會顯示對象的實際屬性或方法,如圖3-7

  Figure 3-7. 對象探測實際屬性

  大多數的屬性值可以通過GetROProperty方法獲得。想要了解對象支持的所有屬性,可以參考QTP手冊。

'獲取對象運行時的outerhtml封裝屬性值
sOuterHTML = Browser("").Page("").WebEdit("").GetROProperty("outerhtml")

  小提示:對象探測器不會顯示出任何帶有序數識別的屬性,例如CreationTime, index or location.

  它們只能在添加到對象庫以后計算出來。

  對象識別(Object Identification)

  對象識別是實現測試腳本的關鍵部分。QTP不能隨意的錄制對象,它在記錄對象的一組屬性時是遵循一定結構的。我們可以更改這些屬性,以適應應用程序。更改設置可以在 Tools->Object Identification…

  有三種類型的屬性可以被QTP用來識別對象:

  1、強制屬性 - 強制屬性總是被捕捉并保存,即使沒有其中的一些屬性,對象也能識別也不例外。

  2、輔助屬性 - 假如強制屬性不足以唯一識別某對象,那么可以依次添加輔助屬性,直到對象可以唯一識別。

  3、順序標識符 - 一旦在使用了強制屬性和輔助屬性后,對象仍然不能唯一識別,那么可以使用序數識別。有三種類型的序數識別:

  圖3-8 對象識別設置

  圖3-8 顯示了WebCheckBox的強制屬性和輔助屬性。

  小提示:這些設置是常規的全局設置,并不基于任何腳本。我們可以根據需要添加和刪除。

  用戶定義的對象

  QTP使用窗體的類名來識別對象的類型。假如我們的應用程序沒有使用標準的窗體類,那么QTP就可能無法正確識別對象。Windows的搜索對話框有一些CheckBox放在了自定義的控件內,當我們試圖添加他們到 QTP對象庫中時,它們只能被識別為WinObject,如圖3-9所示。這是由于Qtp不能把這些CheckBox識別成一般的測試對象。

  圖3-9 搜索窗口中的CheckBox識別成了WinObject

  因此我們需要在QTP設置中,把這個CheckBox映射成 WinCheckBox.打開Tools->Object Identification ,然后選擇標準Windows環境,點擊User Defined按鈕,就會彈出映射對話框。點擊手型按鈕,然后點擊CheckBox后,類名就被添加,并且我們可以映射到CheckBox,如圖3-10 所示。點擊Add按鈕添加這個映射。

  3-10用戶自定義對象映射

  映射后,QTP便可識別這個對象為WinCheckBox,如圖3-11所示。

  圖3-11 用戶自定義對象識別為Checkbox

原文轉自:http://www.uml.org.cn/Test/201307084.asp

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97