如果只是簡單的錄制、回放腳本,可能感覺不到對象倉庫的存在。但是要做到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會不會又自動添加一堆對象進來呢?別擔心,不會出現這個問題,因為我們將進行一場腳本編寫的革命:放棄“錄制腳本”這種傳統的腳本編寫方法,完全手工編寫腳本。
TAG: QTP
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/