如何管理QTP中的對象庫

使用QTP錄製一些腳本再回放,這不難,難的是一個測試團隊共同開發腳本,並能不斷的完善腳本,創建一個結構化的自動測試腳本體系。這篇文章重點討論的是,如何管理QTP的對象倉庫,以便能讓對象倉庫易於維護、管理。

  如果只是簡單的錄製、回放腳本,可能感覺不到對象倉庫的存在。但是要做到QTP腳本的結構化管理,就必須對QTP的對象倉庫進行嚴格的管理。

  在實際工作中我們發現,QTP腳本做好後絕不是一成不變的,而是隨着需求和頁面的變化,需要不斷修改的。如果每次修改腳本的時候,都重新錄製腳本,成本極高,所以最有效的方法是,先修改對象倉庫,然後修改腳本,以適應新的系統。

  如果對象倉庫裏的管理比較混亂的話,修改腳本時就會遭受地獄般的痛苦,比如n多對象全堆在一起根本理不出頭緒,對象的命名不知所云,找不到自己需要的對象等等。下面我們講一下如何管理對象倉庫,避免這些問題。

  先介紹一下對象倉庫中的對象層次,主要分爲3個層次
1、Browser瀏覽器
2、Page頁面
3、頁面中的各種對象,比如Link、Button

  Browser對應的是已經打開的IE窗口對象,Page對應的是不同的網頁,比如登錄首頁是一個Page,登錄成功後跳轉到我的淘寶頁面,這就是另一個Page。而頁面中的各種對象就比較好理解了,圖片、按鈕、鏈接都是對象。

  瞭解了對象層次,我們再講一下命名。如果QTP在錄製過程中自動記錄對象,命名是非常亂的,缺乏邏輯性,經常看到一個Browser下面有n多“淘寶網_1”、“淘寶網_2”這樣的Page,這對我們以後的管理非常不利。與其修改這些命名,我們不如用一種思路更清晰的方式,手動添加對象。

  QTP中有一個工具實現了對象倉庫的管理,Object Repository Manager,我們用它來添加對象。操作很簡單,直接點擊toolbar中的Add Object按鈕,然後在web上點擊你需要添加的對象即可,添加過後再修改名稱。更新對象也比較簡單,先選中需要更新的對象,然後點擊Update from Application即可。

  這項工作其實可以在系統頁面出來以後就開始做,我們一邊進行手工測試,一邊把對象添加起來,爲後面的腳本開發做準備。這時暫時不製作腳本。

  總結一下,對象倉庫的管理要滿足以下幾個原則:
1、每個Browser下的Page不要太多,最好不要超過5個,即使我們的系統都在同一個IE窗口下(沒有彈出新IE),我們也可以分幾個Browser管理,把業務上關聯較強的幾個Page放在一個Browser下;
2、每個對象都按照所代表的業務屬性命名,最好用中文,不要出現一些難理解的字符,比如abc這樣的。
3、儘量避免在一個tsr文件中堆放過多的對象,最好根據業務,把對象分爲幾個tsr文件保存。這裏沒有統一標準,以每個tsr文件結構清晰爲宜。

  現在我們完成了對象倉庫的整理,好,可以開始製作腳本了。可是問題來了,錄製腳本的時候,QTP能不能自動和這些對象對應上呢?QTP會不會又自動添加一堆對象進來呢?別擔心,不會出現這個問題,因爲我們將進行一場腳本編寫的革命:放棄“錄製腳本”這種傳統的腳本編寫方法,完全手工編寫腳本。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章