QTP自動化測試教程_第1頁
QTP自動化測試教程_第2頁
QTP自動化測試教程_第3頁
QTP自動化測試教程_第4頁
QTP自動化測試教程_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、2022-4-10iSoftStone Information Service CorporationMercury QuickTest Professional 8.2教程教程2005 iSoftStone Information Service Corporation. All rights reserved.21. 自動化測試簡介自動化測試簡介2. QuickTest Pro簡介簡介3. QuickTest Pro的測試流程的測試流程4. QuickTest Pro 進(jìn)階進(jìn)階2005 iSoftStone Information Service Corporation. All righ

2、ts reserved.3GUI自動化測試方面的理論有很多,眾說紛紜。比較受認(rèn)同的觀點有:自動化測試可以將測試人員從重復(fù)枯燥的手工操作中解放出來,讓測試人員有更多的精力關(guān)注在對被測系統(tǒng)的分析上。測試人員將更加重視測試用例的設(shè)計。自動化測試在現(xiàn)階段不能取代手工測試。凡是重復(fù)枯燥的工作,都可以也應(yīng)該被自動化測試取代?;貧w測試是使用自動化測試的一個比較適宜的階段。自動化測試需要在覆蓋率和實現(xiàn)成本上找到平衡點。覆蓋率越高,實現(xiàn)和維護(hù)成本越大。覆蓋率低,自動化測試沒有實現(xiàn)的價值。針對產(chǎn)品,應(yīng)該在自動化測試中實現(xiàn)實施測試的關(guān)鍵流程。自動化測試需要測試人員有一定的軟件設(shè)計和開發(fā)能力,同時也要對被測系統(tǒng)的業(yè)務(wù)

3、有一定的認(rèn)識。自動化測試需要有完善的測試流程和測試策略做保證。自動化測試的腳本的維護(hù)成本比較高。2005 iSoftStone Information Service Corporation. All rights reserved.4QuickTest Professional是新一代自動化測試解決方案,采用了關(guān)鍵詞驅(qū)動(Keyword-Driven)測試的理念,能完全簡化測試的創(chuàng)建和維護(hù)工作。QTP的界面介紹:的界面介紹:Test Pane包括Keyword View 和Expert View兩個視圖。圖中顯示的是關(guān)鍵詞視圖,錄制生成的腳本可以在這里很直觀的看到,可以在此視圖完成參數(shù)化的工

4、作。Expert View可以在在此視圖中直接修改生成的腳本,適合對VB腳本和QTP的函數(shù)比較熟悉的測試人員使用。Data Table,就是一個Excel,用于提供自動化測試腳本所需的輸入數(shù)據(jù)或者校驗數(shù)據(jù)。指向測試腳本文件目錄下的Default.xls文件??梢灾苯釉贓xcel中編輯數(shù)據(jù)。Active Screen,錄制腳本時生成,記錄下Web頁面,可以在此完成大量的修改腳本工作,如添加檢查點等。2005 iSoftStone Information Service Corporation. All rights reserved.52005 iSoftStone Information Se

5、rvice Corporation. All rights reserved.6 設(shè)計測試用例的測試數(shù)據(jù)設(shè)計測試用例的測試數(shù)據(jù) 錄制測試腳本錄制測試腳本 修改并調(diào)試測試腳本修改并調(diào)試測試腳本 執(zhí)行測試腳本執(zhí)行測試腳本 分析測試報告分析測試報告 回報發(fā)現(xiàn)的缺陷回報發(fā)現(xiàn)的缺陷2005 iSoftStone Information Service Corporation. All rights reserved.7分析業(yè)務(wù),設(shè)計你的測試用例,決定要測試和校驗?zāi)男┕δ茳c(根據(jù)需求或者設(shè)計文檔)。設(shè)計你的測試用例的測試數(shù)據(jù)。根據(jù)QTP的功能特點和實現(xiàn)成本,決定哪些用例手工執(zhí)行,哪些用例使用QTP執(zhí)行。分

6、析這些需要實現(xiàn)的自動化測試過程,合理安排錄制腳本的順序,盡量使生成的腳本復(fù)用。這個需要經(jīng)驗的積累。例:現(xiàn)在要測試銀企登陸頁面,詳細(xì)的測試數(shù)據(jù)如下:2005 iSoftStone Information Service Corporation. All rights reserved.82005 iSoftStone Information Service Corporation. All rights reserved.9當(dāng)在Web頁面或者其它的應(yīng)用程序的GUI上執(zhí)行操作時,QTP會記錄下你的操作步驟,并產(chǎn)生測試腳本。當(dāng)你停止錄制測試腳本后,會看到QuickTest在Keyword View中

7、以表格的方式顯示測試腳本的操作步驟(steps)。根據(jù)測試數(shù)據(jù),執(zhí)行后生成的腳本如下(樹狀結(jié)構(gòu)):2005 iSoftStone Information Service Corporation. All rights reserved.102005 iSoftStone Information Service Corporation. All rights reserved.11l 添加對象和步驟添加對象和步驟l 參數(shù)化參數(shù)化l 增加條件控制增加條件控制l 建立檢查點建立檢查點l 建立輸出值建立輸出值l 分割腳本分割腳本2005 iSoftStone Information Service C

8、orporation. All rights reserved.12可以發(fā)現(xiàn),我們錄制的腳本中,缺少用戶名和密碼的輸入框這兩個對象。下面增加在用戶名和密碼的輸入框輸入值的這兩個步驟。 選中“iTreasury資金管理平臺”這個Page對象,點擊insert-newstep; 如果你所要添加的控件QTP已經(jīng)識別過類似的控件,你可以使用這個類似的控件,并且通過修改屬性來添加這個新的步驟,如果QTP沒有識別過,選擇step generator,彈出對話框; 點擊圖中的 圖標(biāo)按鈕,彈出對話框,點擊其中的按鈕 ,鼠標(biāo)會從箭頭變?yōu)槭中椭羔?在你要測試頁面上選中你要添加步驟所需要的控件用戶名和密碼的輸入框

9、添加用戶名和密碼輸入框中的值(value),“”是指在輸入框中輸入空。點擊ok,所選對象的屬性將被保存到對話框中,再點擊“ok”按鈕就完成了整個添加點擊“確定”按鈕這個步驟。2005 iSoftStone Information Service Corporation. All rights reserved.13最后,使用使用TestUpdate Run方式運(yùn)行腳本方式運(yùn)行腳本。Update Run方式運(yùn)行腳本,可以在運(yùn)行的同時更新Active Screen,checkPoint 以及Test Object。特別是更新Active Screen的功能,手工添加的步驟使用普通方式運(yùn)行腳本,不會

10、生成Active Screen,這樣就無法添加檢查點。另外,也可以在對象庫(Object Reponsitory)中添加對象。2005 iSoftStone Information Service Corporation. All rights reserved.14根據(jù)測試數(shù)據(jù),可以發(fā)現(xiàn),執(zhí)行的所有操作,只是修改登陸名和密碼,所以我們可以把這兩個輸入值參數(shù)化,使得腳本執(zhí)行時,自動取DataTable的值來運(yùn)行。調(diào)出參數(shù)化窗口的方法有兩個: 在KeyWord View中點擊想要被參數(shù)化的值,如圖中的“test1”,再點擊出現(xiàn)的圖標(biāo) ,或者使用快捷鍵“Ctrl+F11”; 在 這個輸入框?qū)ο笊希?/p>

11、右鍵,彈出對話框,選擇“Object properties”。不過在輸入框?qū)ο笾?,使用不上。參?shù)化時,可以選擇使用Global Sheet或者Local Sheet,當(dāng)把參數(shù)化的值放到Global Sheet中,就成為全局變量,放到Local Sheet中后,就是局部變量,只在本Action中可以調(diào)用。一般建議使用Local Sheet。Global全局參數(shù):它控制整個Action的運(yùn)行次數(shù),global里有幾行參數(shù),則運(yùn)行幾次腳本。Current Action(Local Sheet):對應(yīng)于單一的Action的參數(shù),對于一個Action沒有實際的意義,而幾個Action共同在一個腳本中使用

12、時,就由他來控制單一Action的循環(huán)次數(shù)。2005 iSoftStone Information Service Corporation. All rights reserved.15QuickTest中的條件控制語句是通過VB腳本語言來實現(xiàn)的。If 條件1正確 Then執(zhí)行語句1ElseIf 條件2正確 Then 執(zhí)行語句2Else 執(zhí)行語句3End If可以添加ElseIf子句以擴(kuò)充 If.Then.Else 語句的功能,使您可以控制基于多種可能的程序流程。判斷Excel中某列的值是否為空: DataTable(“列名”,dtLocalSheet)”2005 iSoftStone Inf

13、ormation Service Corporation. All rights reserved.16彈出對話框的內(nèi)容是我們需要校驗的重要信息??梢栽趶棾鰧υ捒虻奈淖稚咸砑訕?biāo)準(zhǔn)檢查點: 在Active Screen中顯示的彈出對話框的文字上右鍵,選擇“Insert Standard checkpoint”,在彈出框中選擇”Static:請輸入密碼”,然后點擊“OK”按鈕 選中“請輸入密碼”的字樣,然后在Configure value的標(biāo)簽中選中Parameter的單選框,點擊 圖標(biāo)按鈕。 在name的輸入框中輸入你給彈出框內(nèi)容起的名字,做一個標(biāo)識,如“校驗信息”,這對應(yīng)到DataTable中

14、的列名。同樣,建議使用Local Sheet。2005 iSoftStone Information Service Corporation. All rights reserved.17與建立檢查點類似,可以在Active Screen中右鍵“Insert Output Value”,操作方式相同??梢园褟棾隹虻男畔⑤敵龅紻ataTable中去。2005 iSoftStone Information Service Corporation. All rights reserved.18可以把在頁面輸入和對彈出框的校驗分成兩個Action。 在Keyword View 中,選中彈出對話框的對象

15、,點擊“Step”菜單,選擇“Spit Action” 分別給頁面輸入和彈出框兩個Action命名。點擊“OK”按鈕這樣,原來的一個Action就分成了兩個Action。任何一個Action都可以被其它的Action調(diào)用。在測試登陸的這個例子中,不需要分割A(yù)ction。2005 iSoftStone Information Service Corporation. All rights reserved.19在DataTable中輸入預(yù)先設(shè)計好的測試數(shù)據(jù),然后執(zhí)行編輯好的測試腳本:Browser(iTreasuryPro資金管理平臺).Page(iTreasuryPro資金管理平臺).WebE

16、dit(loginno).Set DataTable(用戶名, dtLocalSheet)Browser(iTreasuryPro資金管理平臺).Page(iTreasuryPro資金管理平臺).WebEdit(password).Set DataTable(密碼, dtLocalSheet)Browser(iTreasuryPro資金管理平臺).Page(iTreasuryPro資金管理平臺).WebButton(提交).ClickIf DataTable(checkMsg,dtLocalSheet) ThenBrowser(iTreasuryPro資金管理平臺).Dialog(Micros

17、oft Internet Explorer).Static(請輸入密碼).Check CheckPoint(請輸入密碼)Browser(iTreasuryPro資金管理平臺).Dialog(Microsoft Internet Explorer).WinButton(確定).Clickelseif DataTable(checkDBMsg,dtLocalSheet)Then2005 iSoftStone Information Service Corporation. All rights reserved.20Browser(Browser).Dialog(Microsoft Interne

18、t Explorer).Static(登陸失敗,可能原因:用戶和密碼不匹配,請重新登錄).Check CheckPoint(登陸失敗,可能原因:用戶和密碼不匹配,請重新登錄)Browser(Browser).Dialog(Microsoft Internet Explorer).WinButton(確定).Click else Browser(iTreasuryProtm).Page(iTreasuryProtm).Image(main_bankportal).Check CheckPoint(main_bankportal)Browser(iTreasuryProtm).CloseEnd I

19、f在Keyword View 中選中Action,右鍵,點擊“Action Call Properties”,彈出對話框,顯示執(zhí)行本Action的次數(shù)。選擇“Run on all rows”,執(zhí)行所有的數(shù)據(jù)。 2005 iSoftStone Information Service Corporation. All rights reserved.21執(zhí)行完測試數(shù)據(jù)后,或者意外中斷,測試執(zhí)行結(jié)束,就會生成測試報告。測試報告也是一個樹形結(jié)構(gòu),需要注意標(biāo)記為“X”的報告項。如果有標(biāo)記為“X”的報告項,可能是執(zhí)行腳本出錯,或者是檢查點校驗沒有通過,可能是一個缺陷。2005 iSoftStone Inf

20、ormation Service Corporation. All rights reserved.22如果QTP和Mercury公司生產(chǎn)的缺陷管理工具如Test Director以及Quality Center連接起來,就可以把QTP中執(zhí)行測試用例中發(fā)生的錯誤以及發(fā)生錯誤時的截圖發(fā)到缺陷管理工具中去,生成缺陷報告。2005 iSoftStone Information Service Corporation. All rights reserved.23通過錄制的方法生成測試腳本,往往不能把頁面的所有Web對象都錄下來,雖然可以通過手動添加對象和步驟,來做一定的補(bǔ)充,但是靈活度比較低,只能執(zhí)

21、行比較簡單的測試任務(wù)。一般來說,在QTP里面我們可以通過兩種方式添加步驟來創(chuàng)建測試或組件: 在應(yīng)用程序或網(wǎng)站上錄制會話。 建立對象庫并使用這些對象在關(guān)鍵字視圖或?qū)<乙晥D中手動添加步驟QTP中所有的操作都是基于對象來完成的,如果要想在關(guān)鍵字視圖或者專家視圖手動添加步驟,必須對對象模型有一定的了解。2005 iSoftStone Information Service Corporation. All rights reserved.24l QTP的對象識別機(jī)制的對象識別機(jī)制l 關(guān)鍵字驅(qū)動測試關(guān)鍵字驅(qū)動測試l 描述性編程描述性編程l 一些技巧一些技巧測試對象模型是一大組對象類型或類,QTP用這些對

22、象類型或類來表示應(yīng)用程序或Web頁面中的對象。每個測試對象類都有一個可以唯一標(biāo)識屬于該類的對象的屬性列表,以及一組 QTP可以對其進(jìn)行錄制的方法。它包括測試對象(Test Object)和運(yùn)行時對象(RunTime Object)。測試對象是QTP在測試中創(chuàng)建的用于表示W(wǎng)eb頁面或應(yīng)用程序的實際對象的對象。QTP存儲有關(guān)的該對象的信息。例如,在前面的例子中有說到一個“提交”按鈕,它的Html源代碼是:可以看到這個Html標(biāo)簽的type是一個button,所以QTP將它識別為一個WebButton,它在當(dāng)前Web頁面可以標(biāo)識的屬性value=提交,這樣,運(yùn)行腳本的時候,QTP就通過type、va

23、lue等屬性在當(dāng)前Web頁面匹配符合這些屬性的Web對象,或者說是html標(biāo)簽,然后再執(zhí)行對“提交”按鈕的Click方法。在對象庫(Object Repository)中記錄下“提交”按鈕這個對象的屬性。2005 iSoftStone Information Service Corporation. All rights reserved.252005 iSoftStone Information Service Corporation. All rights reserved.26在關(guān)鍵字視圖和專家視圖中分別顯示為:Browser(iTreasuryPro資金管理平臺).Page(iTrea

24、suryPro資金管理平臺).WebButton(提交).Click2005 iSoftStone Information Service Corporation. All rights reserved.27關(guān)鍵字驅(qū)動或者稱為關(guān)鍵詞驅(qū)動(KeywordDriven),是為了解決通過錄制的方法來產(chǎn)生腳本的問題。就是先把所有需要的Web對象都添加到對象庫中,然后在關(guān)鍵字視圖中手動添加測試步驟,這樣就是一個設(shè)計腳本的工作,可視化程度非常高,非常直觀。這中方法的缺點有: 如果不手動添加腳本,仍然只能實現(xiàn)簡單的測試任務(wù)。2005 iSoftStone Information Service Corpo

25、ration. All rights reserved.28通常情況下,當(dāng)在錄制一個操作時,QTP會將被操作對象加入到對象庫里(Object Repository)。一旦對象存在于對象庫里,我們就可以在專家視圖里通過添加相關(guān)的對象方法來對該對象進(jìn)行操作。我們可以通過引用層次型對象庫里的對象描述(Object Description)來添加相應(yīng)的方法。因為QTP對象庫中的每個對象都具有唯一名稱,所以在引用時對象名是必須需要指定的。然后在測試運(yùn)行期間,QTP在對象庫中根據(jù)這個對象的名稱和父對象來查找對象,并使用為這個測試對象存儲的測試對象描述,在網(wǎng)站或應(yīng)用程序中標(biāo)識該對象。描述性編程,簡單的來說,

26、就是在專家視圖中,手動編寫腳本,對某個對象執(zhí)行某種操作。譬如,在用戶名的輸入框中輸入“123”,用戶名的輸入框的在該頁面的標(biāo)識是loginno,其類型為WebEdit,對此輸入框執(zhí)行的是set一個值“123”,所以生成的腳本如下: WebEdit(“l(fā)oginno”).set “123”2005 iSoftStone Information Service Corporation. All rights reserved.29但是,這樣的腳本,QTP并不知道這個文本輸入框是在哪個頁面的,所以需要在前面加上Browser和Page的信息,指明是哪一個Web頁面的,最終生成的腳本是:Browser

27、(iTreasuryPro資金管理平臺).Page(iTreasuryPro資金管理平臺).WebEdit(“l(fā)oginno”).set “123”QTP中Web對象比較常用的方法有:2005 iSoftStone Information Service Corporation. All rights reserved.30如果如果Web對象沒有被添加到對象庫中,或者通過該對象沒有被添加到對象庫中,或者通過該Web對象的標(biāo)識對象的標(biāo)識QTP無法識別該對象(這種現(xiàn)象在識別無法識別該對象(這種現(xiàn)象在識別Browser中經(jīng)常遇到,特別是中經(jīng)常遇到,特別是放大鏡),就可以通過直接在腳本中輸入編程描述的

28、方式來解決。放大鏡),就可以通過直接在腳本中輸入編程描述的方式來解決。常規(guī)語法為:TestObject(PropertyName1:=PropertyValue1, . , PropertyNameX:=PropertyValueX TestObject - 測試對象的類。PropertyName:=PropertyValue - 測試對象的屬性及其值。各個property:=value 對之間應(yīng)用逗號和引號分開。2005 iSoftStone Information Service Corporation. All rights reserved.31例如,在彈出客戶放大鏡的頁面,點擊一個客

29、戶編號的超連接,形成的腳本如下:Dim bs_Title,pageTitlebs_Title=”客戶放大鏡- Microsoft Internet Explorer”pageTitle=”客戶放大鏡”Browser(“Title:=”&bs_Title).Page(“title:=”&pageTitle).Link(“text:=”&DataTable(“客戶編號”,dtLocalSheet).Click2005 iSoftStone Information Service Corporation. All rights reserved.32此外,還可以使用descr

30、iption對象。使用 Description 對象可以返回包含一組 Property 對象的 Properties 集合對象。Property 對象由屬性名和值組成。然后,可以在語句中指定用返回的 Properties 集合代替對象名。(每個 property 對象都包含一個屬性名和值)。要創(chuàng)建 Properties 集合,可以使用以下語法輸入 Description.Create 語句:Set MyDescription = Description.Create() 例如,前面提到的放大鏡的例子,使用description對象就變成:Set bs_Title= Description.Cr

31、eate()Set pageTitle= Description.Create()bs_Title(“title”).value=”客戶放大鏡- Microsoft Internet Explorer”pageTitle(“title”).value=”客戶放大鏡”Browser(bs_Title).Page(pageTitle).Link(“text:=”&DataTable(“客戶編號”,dtLocalSheet).Click當(dāng)然bs_Title和pageTitle這兩個對象中可以存放多個Key和其對應(yīng)的Value。2005 iSoftStone Information Servi

32、ce Corporation. All rights reserved.33描述性編程的缺點:腳本調(diào)試花費(fèi)比較多的時間。需要測試人員有一定的編程基礎(chǔ)。2005 iSoftStone Information Service Corporation. All rights reserved.34QTP只支持VB腳本,同時提供了豐富的函數(shù),或者稱為方法,可以實現(xiàn)復(fù)雜的功能。如果要對彈出框的文字信息進(jìn)行校驗,就會用到GetROProperty這個方法:checkMsg=Browser(軟通動力).Dialog(Microsoft Internet Explorer).Static(是否保存?).Get

33、ROProperty(text)GetROProperty是得到Web對象的運(yùn)行時的屬性(運(yùn)行時是彈出顯示的什么內(nèi)容,就得到什么內(nèi)容);GetTOProperty是得到Web對象的原始屬性(錄制的時候是什么,得到的值就是什么)GetTOProperties得到該Web對象的原始屬性集,是一個對象,包含了所有的屬性值。對于dialog中,雖然提示信息對象名稱是“是否保存?”,但如果信息對象名稱是“客戶編號不能為空”,不用更改也可以自動識別,“是否保存?”是一個static的靜態(tài)文本,只是讓運(yùn)行時能找到這個控制,而不管它是什么內(nèi)容,因為在對象倉庫中,text不是決定該對象的屬性。2005 iSoftStone Information Service Corporation. All rights reserved.35校驗數(shù)據(jù)庫的方法:將DataTable的值與數(shù)據(jù)庫中的值進(jìn)行校驗,一般是校驗增、刪、改操作是否成功;將頁面WebTable中的值和數(shù)據(jù)庫中的值進(jìn)行校驗,一般是校驗查詢出來的值是否

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論