QTP之对测试用例的自动化过程的分解
第一部分:自動化一個測試用例
當你要開始自動化一個測試用例的時候,有一些重要的事情需要完成。當你完成所有這些事情的時候,測試腳本的自動化也隨之完成。
在這里,我們將首先在大部分的自動化測試用例里找出所有通用的任務。
讓我們用一個例子(GmailLogin)來理解前面所說的內(nèi)容
為了自動化Gmail Login,你需要寫一些代碼來做以下的事情:
- 打開Gmail Url
- 輸入正確的用戶名和密碼
- 點擊登錄按鈕
通過下面的圖讓我們更加詳細的理解這一點:
?
任務1 - 識別對象
?
- 在你對任何對象做操作之前,你需要唯一地識別這個對象。比如,在你輸入Email之前,你應該知道在Gmail Login界面上的2個輸入框那個是Email。一旦你正確的識別出email,你就可以在Email里輸入正確的數(shù)據(jù)
- 每個控件都有它自己的唯一屬性集,用它們,在同一個頁面你就可以與其它的控件做區(qū)分。例如,Gmail的的登錄按鈕包含了文本'Sign in',用這個文本就可以明顯與其它的按鈕做出區(qū)分
- 因此,識別一個對象,你要找出這個對象的唯一識別屬性
任務2 - 在對象上執(zhí)行操作
?
- 一旦你唯一的識別一個對象,那么下一步將是對這個對象的一些操作
- 你所執(zhí)行的操作依賴對象的類型,不同類型的對象包含不同的操作
- 比如:對于按鈕和鏈接,你可以做點擊操作。對于一個輸入框,你能執(zhí)行Set或者Type操作。類似的,對于每個對象都有自己的操作集合
?
任務3 - 數(shù)據(jù)處理
- 數(shù)據(jù)處理也是在對象上執(zhí)行操作的一部分
- 對于像輸入框的控件,你需要執(zhí)行輸入一些數(shù)據(jù)的操作
?
任務4 - 合并所有單獨的操作
- 為了創(chuàng)建一個測試腳本,你需要合并單獨的操作在一起,然后執(zhí)行它們
- 比如:Gmail的登錄部分將有以下的操作
- op1: 打開Gmail URL
- op2: 輸入用戶名
- op3: 輸入密碼
- op4: 點擊登錄按鈕
- 您能以Action或者Function的形式合并所有單獨的操作
- 因此一個Action或者Function是一個操作集合,這些操作集合合并成一個業(yè)務邏輯流(比如Login, Logout, Search)
?
任務5 - 重用和不重用的函數(shù)
- 在你的測試腳本里有一些函數(shù),一些是只能用一次,而其他的函數(shù)可以用多次
- 只能用一次的Actions是不可重用的Actions,可以用多次的Actions是可重用的Actions
- 例子:考慮以下的3個測試用例
- ?上圖,你注意到函數(shù)Gmail_Login和Gmail_Logout是被用了多次。因此,這些都是可重用的函數(shù),其它都是非可重用的函數(shù)。
一個簡單測試腳本的結構
?
?以上我們已經(jīng)列出了你需要執(zhí)行測試腳本的通用任務
- 識別唯一的對象
- 在對象上執(zhí)行操作
- 只要需要就要執(zhí)行數(shù)據(jù)處理操作
- 創(chuàng)建重用和非重用的的Action(Function)
?
第二部分:QTP怎樣自動化測試用例
?
?
- 在第一部分,你看到為了創(chuàng)建一個測試腳本你需要完成的通用任務
- 在這個部分,你將看到QTP怎么樣協(xié)助我們來完成這些任務
- QTP有不同的功能和機制來幫助你完成這些任務
- 讓我們看下每個任務以及對應QTP的功能
?
識別和存儲對象
QTP提供一個唯一的機制,使用它,你能找出對象的唯一識別屬性。這個機制叫做Object Spy。QTP也提供一個叫做Object Repository的倉庫,可以存儲一些對象以及他們的屬性
在對象上執(zhí)行操作
QTP有一系列預定義函數(shù)庫,他們包含了不同對象的相關所有的操作。當你寫一個對象在你的腳本里,QTP也提供了智能提示,它可以自動展示與這個對象相關的所有函數(shù)和屬性
?
?
?
?
執(zhí)行數(shù)據(jù)處理操作
QTP有自己內(nèi)建的機制,叫做DataTable, 你在這里保存測試數(shù)據(jù),稍后在測試腳本里使用它。QTP提供它自己的集合函數(shù),使用它們就可以從DataTable里解析數(shù)據(jù)
?
即使你的數(shù)據(jù)存儲在外部文件里,比如Excel或者XML文件,QTP提供許多方法,使用它們你就可以從外部數(shù)據(jù)源里獲取到數(shù)據(jù)
?
?
存儲重用和不重用的代碼
QTP也提供許多方法,你能用這些方法來存儲重用和非重用的的代碼。這些機制是:
- Action:Action是你保存代碼最通用的方法之一。你能保存重用和不重用的代碼在Actions里
- Function Library: 函數(shù)庫是又一個很流行的方法,你幾乎可以在所有的QTP項目里的使用它。函數(shù)庫主要用來存儲可重用的代碼
- Business/Scripted Components: 盡管很少用,這個也是你可以存儲代碼的地方
總結:
- 為了寫測試腳本,你需要知道你要做的一些通用任務是:
- 識別和存儲對象
- 在對象上執(zhí)行操作
- 在腳本里處理測試數(shù)據(jù)
- 合并所有的操作形成重用&非重用的動作
?
- 你也知道QTP怎么用它的一系列功能來幫助你創(chuàng)建測試腳本:
- Object Spy和對象庫
- 內(nèi)建的函數(shù)庫
- DataTable和相關的方法
- Actions,函數(shù)庫和組件
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
轉載于:https://www.cnblogs.com/testermark/p/3542671.html
總結
以上是生活随笔為你收集整理的QTP之对测试用例的自动化过程的分解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用java spring开发ckedi
- 下一篇: MVC3 - 控制器