QTP基本測試流程


一、Mercury Tours介紹
1.MTours也是一個航空訂票業務的Web應用程序。
2.必須先啟動服務,然后才能通過瀏覽器來訪問網頁。
(1)啟動服務:開始=》程序=》Mercury Tours=》Start Server
(2)通過瀏覽器來訪問網頁:建議使用開始=》程序=》Internet Explorer,在地址欄中輸入網址。
http://localhost:8080/mtours
3.注冊:REGISTER,輸入UserName、Password、Confirm Password,點擊Submit
要求Password和Confirm Password必須一致,否則無法注冊成功。 jack/123
4.登錄:點擊Home,輸入用戶名和密碼,點擊Sign-in,如果提示是否保存密碼,勾選“不再保存密碼”,點擊“否”。
5.清除IE瀏覽器中已經保存的密碼:IE菜單=》工具=》Internet選項=》內容=》點擊“自動完成”=》取消勾選“表單上的用戶名和密碼”,點擊“清除密碼”按鈕,在提示框上點擊“確定”,最后再點擊“確定”,重啟IE。
6.訂票:如果訂票時出現提示“記住填入表單中的條目”,建議點擊“是”,這樣下次不再出現該提示框。
7.連續訂票時,點擊左側Flights回到訂票開始頁。
8.回到主頁:點擊左側Home回到主頁。
9.退出登錄:LOG OUT或上方的SIGN-OFF。

二、錄制Web應用程序並保存調試
1.注意:啟動QTP時,必須加載Web插件。
2.基本流程:
(1)關閉殺毒軟件、翻譯類軟件、被測系統(瀏覽器)。
(2)點擊New,點擊Record
(3)在Record and Run Settings中:
a.Web選項卡選擇第二項,輸入被測系統的網址;
b.Windows Applications選擇第一項;
c.點擊“確定”。
(4)如果有彈出框,點擊Yes關閉它,再次點擊Record。
(5)在自動啟動的IE瀏覽器內操作被測系統的網頁。
(6)點擊Stop
(7)保存后,點擊Run,點擊“確定”。
注意:運行前關閉瀏覽器,運行過程中不要干擾QTP。
(8)測試結果中Failed數是0代表運行正常。
3.說明:不建議使用手動啟動錄制Web應用程序,因為控件類型經常識別不准確。

案例:MTours,錄制登錄后退出登錄、最后關閉瀏覽器的步驟。保存為Test2003,運行調試。

練習:MTours,錄制登錄后先訂票、退出登錄、最后關閉瀏覽器的步驟。保存為Test2004,運行調試。

三、QTP做自動化測試的基本流程
1.制定測試計划
2.准備測試用例
3.錄制腳本代碼
4.增強腳本代碼
5.調試腳本代碼
6.用於回歸測試
7.測試總結報告
8.維護測試腳本

四、QTP實現原理(對象倉庫管理機制)
1.面向對象的編程思想:
(1)對象Object:世間萬物皆對象,對象是客觀實體的邏輯抽象。
(2)對象的屬性Property:描述對象的性質(特性)的數據。
(3)對象的方法Method:對對象所作的動作。
2.QTP將控件識別為對象,存儲在對象倉庫(Object Repository)中,每個測試腳本代碼錄制后,我們就可以查看對象倉庫的對象。
3.打開對象倉庫:
(1)QTP菜單:Resources=》Object Repository
(2)快捷鍵:Ctrl+R
4.QTP錄制和回放的實現原理:---重在理解!
(1)錄制:封裝測試對象,生成腳本
a.獲得錄制時所操作到的控件的所有屬性
b.使用唯一的名稱記錄在對象倉庫中
c.記錄所有屬性值
d.標識並單獨記錄關鍵屬性值
e.在腳本中記錄測試對象,以及操作動作的方法,和使用的數據的參數值。
(2)回放/運行:識別控件,操作它
a.從Item列獲得對象名稱。
b.到對象倉庫中找到該名稱的測試對象,並且獲得其關鍵屬性列表。
c.使用關鍵屬性值來識別到當前被測系統界面上唯一一個待操作的實際控件。
d.按照腳本的Operation列和Value列來操作它。
5.對象倉庫中測試對象的關鍵屬性列表:右側的Description Properties
6.常見的回放錯誤:
(1)The …… object was not found in the Object Repository.
原因:在對象倉庫中找不到該名稱的測試對象。
分析:手工打開對象倉庫,如果倉庫中對象名稱與腳本中對象名稱不一致,修改一致即可;如果倉庫中根本不存在該對象,那么需要手工添加測試對象到對象倉庫。
解決方案:
a.手工添加測試對象的方法一是通過Active Screen視圖中的界面截圖來添加,具體如下:
a-1.切換到Active Screen視圖
a-2.點擊選中一個步驟,要求其截圖中存在待添加的測試對象控件。
a-3.在截圖中待添加的控件上右擊,選擇View/Add Objects...
a-4.在彈出框中選擇父子對象,OK
a-5.在彈出框中確認控件信息,點擊左下角的Add to Repository按鈕
a-6.點擊View in Repository按鈕,當前倉庫中高亮選中的那個測試對象就是剛添加的。

案例:計算器,3+5=,關閉。Test3005
修改代碼為3+8=,關閉。
修改代碼為7+8=,關閉。
修改代碼為7+3=,關閉。
修改代碼為7+35=,關閉。
修改代碼為71+35=,關閉。

b.手工添加測試對象的方法二是通過對象倉庫頁面中單獨的添加對象功能來添加。
b-1.打開對象倉庫。
b-2.打開被測系統,操作到顯示目標控件對象的頁面。
b-3.選擇對象倉庫頁菜單Object=》Add Objects to Local...,或點擊工具欄的灰色小加號。
b-4.使用手型鼠標點擊選中被測系統頁面上目標控件。
注意:如果被測系統的頁面被遮擋,長按鍵盤上的Ctrl鍵,使用箭頭形鼠標移動、關閉、最小化遮擋它的窗口,然后再釋放Ctrl鍵,使用手型鼠標點擊選中目標控件。
b-5.在彈出框中選擇父子對象,OK

案例:Flight,錄制登錄后退出的步驟,保存,運行。
修改代碼在輸入密碼之前,增加點擊Help和點擊”確定“的步驟。
修改代碼,在等待后,退出前,增加點擊工具欄第一個按鈕(新建訂單按鈕)的步驟。
Test2006

(2)Object is disabled
原因:當前步驟所操作的控件不可用,有可能是置灰狀態,也可能是被前面的彈出框遮擋。
分析:測試數據或測試步驟的順序是否正確,步驟間是否能夠前后銜接。
解決方案:修改測試數據,或移動步驟的順序,或增加或刪除一些步驟。
(3)Cannot find ……. Verify that …… properties match an object currently displayed in your application.
關鍵單詞:properties match(屬性匹配)
特點:很慢(大概20秒后才報錯!)
原因:使用對象倉庫中測試對象的關鍵屬性列表無法識別到當前被測系統中唯一的實際對象。
分析:是否是回放前忘記關閉被測系統,查看被測系統的個數,查看被測系統當前頁面是否存在目標控件。
解決方案:
關閉被測系統再運行,可能需要修改QTP菜單Automation=》Record and Run Settings中配置,可能需要修改步驟的順序或步驟使用的數據。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM