QTP自傳之物件

2022-01-19 13:33:28 字數 3085 閱讀 1742

物件在手,測試我有

大家別誤會,這裡說的物件可不是值指男女朋友,而是對被測控件的識別。經過昨天的錄製,大家一定很奇怪為什麼我可以做到精確的回放操作,這都要歸功於物件,下面就隆重的介紹我在物件識別方面的強大功能。

開啟上次錄製的指令碼record,點選【resources】->【object repository】或按快捷鍵ctrl+r,開啟物件庫,如下圖。

簡單介紹下各個按鈕的作用。

test objects:測試中用到的物件都在這裡。

checkpoint and output object:檢查點和輸出物件,平時專案中基本上用不到。

1:新增物件,手動新增需要的測試物件到物件庫,如何新增後面會詳細說明。

2:更新物件,由於版本的更迭導致物件變更時使用,具體步驟和新增物件相同,需要注意的是所更新的物件必須是相同型別的,不能把webedit更新曾link型別。

3:定義新物件,使用頻率不高,一般都直接新增物件。

4:物件高亮,使物件庫中的物件在網頁或程式上閃爍,可以達到定位的效果,檢查物件新增的是否正確。

5:定位物件,檢查被測程式上的物件是否已在物件庫中。

6:物件偵探,無需新增物件到物件庫就可以檢視物件的屬性,實際工作中用的最多的功能。

7:關聯物件庫,載入封裝好的物件庫,使用較多。

物件庫是我最重要的功能,沒有物件庫就沒有我現在的地位,而新增物件又是物件庫中最重要的功能呢。為了看到手動新增的效果,我們先刪除現有物件庫的物件,右鍵點選物件刪除之。

點選新增物件圖示(圖中1的位置),會出現乙個白色小手,將白色小手移動到需要新增的物件上,這裡先新增使用者名稱輸入框,單擊後如下圖。

單擊後會出現乙個對話方塊,同時顯示要新增物件的父級物件,需注意,新增子物件時父級物件會自動新增至物件庫。也就是說,如果我們選擇webedit那麼page和broswer也會一起新增至物件庫;如果選擇page那麼broswer會被新增至物件庫而webedit不會被新增,可以理解為向上相容。好了,我們選擇webedit進行新增,如下圖。

按相同步驟新增郵箱、密碼和登入按鈕,因為他們都在同一頁面上,會被直接新增在父物件page下。

這時大家應該會發現,新增物件時我會自動為他們命名,當然名字也不是隨便取的。以mail為例,注意看object properties部分,下面詳細部分description properties:type=text、name=mail、html tag=input,看到這裡有沒有聯想什麼?還記得我們自己寫的網頁**麼?

一目了然,這裡的屬性其實就是html標籤的屬性。如果覺得自動生成的名字看著不舒服,直接修改object properties中name值就可以。將mail改為郵箱,password改為密碼,username改為使用者名稱,修改後可以看到指令碼**也自動更新了。  

我之所以能夠識別各種各樣的物件,是因為已經有了這些物件的身份證明,他就是object identification。

點選【tools】->【object identification】,列出了可以識別的所有web物件,可以在登錄檔hkey_current_user\software\mercury interactive\quicktest professional\mictest\test objects 檢視,登錄檔裡沒有的object identification也不會有。object identification的配置一般不需要更改,了解即可。

自動化物件控制項紛繁雜亂,工作中經常需要了解物件的內部屬性,直接看原始碼費時費力,考慮到這點,我特地提供了物件偵探服務,可以方便的檢視物件的屬性。可以通過三種方式開啟:

1.點選【tools】->【object spy】

2.直接點選spy圖示

3.在物件庫中點選spy圖示 (第一幅6位置)

具體如圖所示

好了,拿使用者名稱輸入框練練手,properties顯示了相關的屬性。

operations是該物件可以使用的方法,在以後的物件庫程式設計中會用到。

捕獲物件時,若需要滑鼠或鍵盤進行操作,按下ctrl+alt可以進行輸入,然後再按ctrl就可以捕獲了。

顧名思義,可以將物件庫封裝為外部檔案,成為公共物件庫,供不同指令碼使用。實現步驟:

1.匯出現有物件庫。ctrl+r開啟物件庫,點選【file】->【export local objects】,選擇儲存資料夾。

2.為了突出效果,先刪除現有物件庫中的物件,然後點選object spy右邊的圖示。

3.點選【+】選擇要關聯的物件檔案,將action1移入associated actions,點選【ok】。

4.物件已被新增至test objects且是灰色不可編輯,若想編輯可以右鍵點選物件選擇copy to local。

聽說十遍,不如操作一遍,web物件五花八門,行蹤飄忽,只有通過大量的實際操作才能逐漸摸透其中的原理。

QTP內部物件

物件一覽,詳細參考qtp的幫助文件。crypt object datatable object description object dotnetfactory object dtparameter object dtsheet object environment object extern ob...

QTP虛擬物件

最近在跑qtp,各種頭疼,遇到好多問題,解決了不少,還有一些等待著解決,先來說一下已經解決的吧。在錄製qtp時,有些控制項可能不被qtp支援,則可以考慮使用虛擬物件來解決問題,當然還有其他的方法,但我目前還是個菜鳥,以後發現了再繼續補充。下面來說一下使用虛擬物件做qtp測試需要注意些什麼 1,使用虛...

QTP 保留物件

1.常用保留物件 utility objects 保留物件 所謂qtp保留物件就是qtp本身預留的一些可用物件。通俗些講就是,當開啟qtp時它就已經把這些物件給例項化了,直到關閉qtp後,這些保留物件的例項才會終止。這些保留物件都是qtp事先封裝好的常用操作物件,無需像開源軟體那樣都需要自己來搭建這...