QTP工具使用培訓基礎(chǔ)應用_第1頁
QTP工具使用培訓基礎(chǔ)應用_第2頁
QTP工具使用培訓基礎(chǔ)應用_第3頁
QTP工具使用培訓基礎(chǔ)應用_第4頁
QTP工具使用培訓基礎(chǔ)應用_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

QTP工具使用培訓基礎(chǔ)應用自動化測試介紹

自動化測試基本概念自動化測試通俗易懂的說就是能夠自動輸入測試數(shù)據(jù),自動檢查被測對象響應的一種測試方法。自動化測試目的自動化測試的目的是通過自動執(zhí)行測試腳本,使測試人員在更短的時間內(nèi)能夠更快地完成更多的軟件測試,并提供以更高的頻率執(zhí)行測試的能力,從而有效降低測試成本、提高測試效率。自動化測試解決的問題在實際的測試工作中,一般說來,我們選擇自動化的功能測試工具無外乎要解決以下三個問題:自動化的功能回歸測試大批量數(shù)據(jù)驅(qū)動的軟件測試整個軟件測試生命周期的管理但自動化測試并非萬能,手工測試是不可替代的,因為人有很強的判斷能力:測試用例的設(shè)計界面和用戶體驗測試開始QTP之旅

QTP簡介QTP是惠普一款功能強大的自動化測試工具,它是用于功能測試和回歸測試自動化的高級解決方案。它能自動捕獲、驗證和重放用戶的交互行為。最大程度提高測試效率,減少人力成本,保證測試質(zhì)量。采用VBScript作為其腳本語言。插件管理

插件管理器

啟動QTP,首先需要根據(jù)被測應用程序來選擇合適的插件QTP向?qū)驅(qū)TP主窗口QTP主窗口描述QTP主窗口標題欄:顯示當前測試腳本的名稱菜單欄:顯示QTP的菜單項文件工具欄:管理測試腳本常用的工具列調(diào)試工具欄:對測試腳本除錯常用的工具列測試工具欄:錄制測試腳本常用的工具列操作工具欄:查看單項操作或整個測試流的詳細信息測試窗格:關(guān)鍵字視圖和專家視圖數(shù)據(jù)表:對測試腳本做參數(shù)化時存放參數(shù)數(shù)據(jù)的地方,默認有兩個數(shù)據(jù)表,一個是Golbal,另一個對應的操作的數(shù)據(jù)表,其中每個操作會對應各自的數(shù)據(jù)表ActiveScreen:錄制會話過程中執(zhí)行某個特定步驟時,提供了出現(xiàn)的應用程序快照QTP測試過程錄制測試腳本前的準備測試什么功能、操作步驟、預期結(jié)果、QTP設(shè)置錄制測試腳本每一個操作步驟都會被錄制下來編輯測試腳本調(diào)整測試步驟、插入檢查點、參數(shù)化等調(diào)試測試腳本對修改的測試腳本進行調(diào)試,確保腳本的正確性運行測試腳本、分析結(jié)果分析結(jié)果,回報問題到測試管理工具(QC)或自有管理工具QTP測試流程圖一個簡單的Web測試演示實例

開始Web測試

使用QTP自帶的Web示例網(wǎng)站進行測試首先需要明確測試內(nèi)容:譬如簡單的注冊功能其次明確被測功能的測試步驟:按照注冊向?qū)нM行注冊再次需要明確被測功能的預期結(jié)果是什么:這里注冊成功的標志是顯示一段文本:Note:YourusernameisXXXXXX.

最好關(guān)閉與測試不相關(guān)的程序窗口IE瀏覽器設(shè)置如果使用IE瀏覽器,需要先取消【自動完成】的功能,不要讓瀏覽器幫你記住自動輸入帳號與密碼,以確保在錄制的過程中所有的操作都會被錄制下來。取消【自動完成】的設(shè)定:QTP設(shè)置QTP設(shè)置(續(xù))QTP設(shè)置(續(xù))錄制測試腳本關(guān)鍵字視圖專家視圖執(zhí)行測試腳本測試結(jié)果保存路徑測試結(jié)果QTP到底是如何工作的呢?

測試對象模型概述 QuickTest通過記住和標識測試對象及其預期的屬性和屬性值,對動態(tài)更改的應用程序進行測試。在錄制期間,QuickTest對應用程序中每個對象進行分析的方式就跟一個人看一張圖片然后記住其細節(jié)的方式大致相同。也就是說每一個測試對象都有其唯一的屬性標識來確定這個對象。QTP中的對象模型標準windows對象Web對象ActiveX對象VB對象.Net對象。。。。。。QTP中的對象測試對象(TestObjects)

靜態(tài)的一組Application對象,提供接口訪問對象的屬性和方法(GetToProperty)。它是對象庫文件里定義好的對象。首先通過錄制的方式獲取到對應對象,將其進行存儲,并確定該對象符合的測試對象類。譬如,標準Windows對話框、WebButton或者VB滾動條對象等。然后,對于每個測試對象類,QuickTest始終記住這些默認的屬性值,如果檢查的對象不足以唯一標識該對象,那么QuickTest將逐項添加輔助屬性,直到成為唯一標識為止。運行時對象(Run-TimeTestObjects)

展現(xiàn)的是腳本運行時的對象,是被測軟件的實際對象,其運行時屬性可能與測試對象屬性不同。在腳本中可以通過GetRoProperty屬性或者Object對象自身來訪問和獲取到。要求必須熟悉GUI對象的屬性,運行機制有一定的編程開發(fā)經(jīng)驗例如:Web控件:熟悉HTML,熟悉HTML中的控件對象屬性和方法(Page、Body、Table、Div等Object)Browser類Page類WebEdit類測試對象管理對象庫QTP采用對象庫來管理腳本中的測試對象QTP在錄制過程中,根據(jù)定義的TestObject識別規(guī)則自動生成objectrepository

可以手動添加、刪除、修改TestObjects多個腳本可以共享同一個objectrepository

對象探測器對象庫管理工具QTP提供了一個很強大的對象庫管理工具,可以通過這個工具實現(xiàn)多個對象庫的比較、合并等功能。合并的時候,在兩個對象庫文件中,相同的對象合并成一個,不同的對象全部被完整增加進去。然后形成一個大的對象庫。如何共享對象庫概述

隨著項目需求的不斷增加,需要的腳本開發(fā)人員也會增多,這種情況如果還是局限于單人作戰(zhàn)的方式會很影響腳本開發(fā)的效率,這種情況下可以考慮對象庫的共享,多人協(xié)作開發(fā)腳本但共用一個公共對象庫。步驟將本地對象庫保存到本地為.tsr文件其他人使用時將該.tsr文件關(guān)聯(lián)到本地QTP腳本中關(guān)鍵字視圖關(guān)鍵字視圖為用戶提供了一種以易于使用的圖形格式創(chuàng)建、查看以及修改測試腳本的簡單方法。通過關(guān)鍵字視圖,可以用模塊化的表格格式創(chuàng)建和查看測試腳本步驟。每個步驟在關(guān)鍵字視圖中對應一行,由可以輕松修改的單獨部分組成。使用關(guān)鍵字視圖如何使用關(guān)鍵字視圖?(無需錄制即可添加步驟)

在需要添加的步驟處打開右鍵菜單,可以根據(jù)需要插入步驟,步驟包含了報告、注釋、步驟生成器、條件語句、循環(huán)語句、開始事務和結(jié)束事務。錄制模式分類普通錄制模擬錄制低級錄制

普通錄制是錄制模式中的默認錄制方式,這種錄制模式是QTP最突出的特點。是直接操作對象,譬如對標準windows控件的操作,錄制完之后,不管再次打開的對象位置坐標在什么位置,它都能根據(jù)對象的唯一標識來執(zhí)行到。這種模式的優(yōu)勢是可以錄制對于應用程序的對象的一系列操作,但劣勢就是對于鼠標的運動軌跡無能為力,譬如windows自帶的畫圖程序,通過這種模式就無法進行錄制。錄制模式詳細描述錄制模式詳細描述(續(xù))模擬錄制模式是對鼠標和鍵盤的精確操作進行錄制。錄制鼠標的拖動,捕捉鼠標的運動軌跡,主要用于繪圖此類軟件的錄制。模擬錄制是在普通錄制過程中切換到此種模式的,無法在錄制之前設(shè)置。分類相對于指定窗口錄制:只錄制鼠標鍵盤的指定窗口內(nèi)的所有動作,在窗口外的動作不會錄制相對于屏幕錄制:可以錄制在整個屏幕內(nèi)所做的所有動作。錄制模式詳細描述(續(xù))低級錄制是把所有對象識別為WinObject對象,是對正常錄制下不能是別的環(huán)境和對象的一個補充。對對象的位置要求非常嚴格,是記錄屏幕坐標點上的操作。對象的坐標有一點改變就有可能錄制失敗,這種模式的錄制穩(wěn)定性較差。趕快動手試一下共享對象庫的妙處吧…別忘了還有三種不同的錄制模式也要熟悉一下檢查點概述檢查點是將指定屬性的當前值與該屬性的期望值進行比較的驗證點,這樣就能使用戶確定被測應用程序功能是否正常運行。當添加檢查點后,QuickTest會將檢查點添加到關(guān)鍵字視圖中的當前行并在專家視圖中添加一條“檢查檢查點”語句。當回放腳本時,QuickTest就會將檢查點的期望結(jié)果與當前結(jié)果進行比較,如果結(jié)果不匹配,檢查點就會報錯,檢查點結(jié)果可以在“測試結(jié)果”中進行查看。檢查點分類描述檢查點分類標準檢查點

Browser("Browser").Page("Register:MercuryTours_2").CheckCheckPoint("Register:MercuryTours")檢查點分類(續(xù))位圖檢查點表和數(shù)據(jù)庫檢查點QTP提供的DatabaseCheckPoint采用ODBC數(shù)據(jù)源,需要在控制面板中定義數(shù)據(jù)源麻煩可采用ADODB的方式自定義Database檢查點SetadoCon=CreateObject("ADODB.Connection")SetadoRec=CreateObject("ADODB.Recordset")文本檢查點文本區(qū)域檢查點XML檢查點自定義檢查點正則表達式

對于上述各檢查點的屬性值進行設(shè)定時,還可以使用正則表達式來表示,以更好的進行對象匹配。正則表達式是指定復雜搜索短語的字符串,通過使用特殊字符,如*.[]\b等等來定義搜索條件。現(xiàn)在動手實踐下檢查點的用處,看看運行的測試結(jié)果又是怎樣呢?參數(shù)化概念

在測試過程中,用戶會想到使用各種各樣的測試數(shù)據(jù)代表,針對同樣的操作或功能進行驗證。譬如,對于普通的登錄操作,用戶可能會有四組不同的數(shù)據(jù)來驗證登錄的權(quán)限問題,如超級管理員、普通管理員、部門經(jīng)理、員工。最直接的方法就是將這四組數(shù)據(jù)依次來進行錄制操作,但如果數(shù)據(jù)量過大的情況下那么錄制的成本會非常高。這種方式是不可取的?,F(xiàn)在我們可以考慮使用數(shù)據(jù)的參數(shù)化來進行大批量數(shù)據(jù)的操作,只簡單復用一個腳本即可實現(xiàn)所有的不同權(quán)限用戶的登錄驗證問題。參數(shù)化形式數(shù)據(jù)表GlobalAction環(huán)境變量內(nèi)置環(huán)境變量用戶自定義環(huán)境變量隨機數(shù)Test/Action調(diào)用Action輸入?yún)?shù)Action參數(shù)只能應用在當前的ActionAction中不能直接使用Test參數(shù)可以把Test參數(shù)傳送給Action調(diào)用Test輸入?yún)?shù)DataTable參數(shù)化DataTable參數(shù)化可以加載默認的Excel文件,也可以加載外部Excel文件當加載默認Excel文件時,有兩種方式:Global:全局的,在整個生命周期中都可調(diào)用Browser("Browser").Page("Register:MercuryTours").WebEdit("firstName").SetDataTable("firstName",dtGlobalSheet)Action:只用于當前Action的調(diào)用Action輸入?yún)?shù)Action輸入?yún)?shù) Browser("Browser").Page("Register:MercuryTours").WebEdit("firstName").SetParameter("InAction1")

注意:上面的InAction1輸入?yún)?shù)是不能在其他Action中調(diào)用的,只能用于自身ActionTest輸入?yún)?shù)Test輸入?yún)?shù)可以通過TestArgs方法獲得參數(shù)值:TestArgs(“firstName”)可以將Test參數(shù)傳給相應的ActionTest和ActionTest包括一個或多個Actions,按照一定的規(guī)則組織Action為一個測試流程。Test可以引用外部的ActionsActionnon-reusablereusableexternal流程圖TestActionActionActionFunctionFunctionLibraryStepStepStep

以Test為測試運行單位,每個Test包含若干類型Action。

以Action為最小單位映射對象庫,多個Action之間可以共享統(tǒng)一對象庫

Action內(nèi)的Step可以包含用戶錄制操作或者函數(shù)庫內(nèi)對Function的調(diào)用Step參數(shù)化是非常重要的內(nèi)容,讓我們繼續(xù)前面的成果吧…創(chuàng)建復用Action添加Action的方法插入一個Action有以下幾種方法:在當前Test中創(chuàng)建一個新的操作插入拷貝的外部操作,這種方式是可以編輯的,外部引用的操作不受影響調(diào)用一個存在的操作,這種情況下外部操作是不可以編輯的分割操作為一個個的單體通過一個簡單實例講解上述重點知識點:

Test和Action的關(guān)系

Test和Action的循環(huán)設(shè)置

輸出值概述

輸出值是一個步驟,在該步驟中,捕獲到測試中某個特定點的一個或多個值,并在運行會話持續(xù)時間存儲這些值。隨后,在運行會話中的不同點,可以將這些值作為輸入來使用。輸出值分類標準輸出值

標準輸出值能夠輸出大多數(shù)對象的屬性值,還可以輸出表單元格的內(nèi)容。可以在錄制或編輯測試腳本時創(chuàng)建標準輸出值。文本輸出值

文本輸出值可以從屏幕中的顯示的文本字符串中創(chuàng)建,可以將輸出值定義為顯示的文本的一部分,也可以指定輸出文本之前或之后的文本。數(shù)據(jù)庫輸出值

可以通過定義數(shù)據(jù)庫中檢索數(shù)據(jù)的查詢,并選擇要從查詢結(jié)果集中輸出地值來創(chuàng)建數(shù)據(jù)庫輸出值??梢灾付ㄟx定值的輸出設(shè)置,在運行會話過程中,QTP從數(shù)據(jù)庫中捕獲當前的數(shù)據(jù),并根據(jù)指定的設(shè)置輸出值。XML輸出值

可以從XML網(wǎng)頁或框架中包含的任何XML文檔中創(chuàng)建XML輸出值,或直接從XML文件創(chuàng)建XML輸出值??梢暂敵鯴ML輸出值步驟中的元素或?qū)傩灾?。輸出值的存儲測試/操作輸出參數(shù)運行時數(shù)據(jù)表環(huán)境變量運行時數(shù)據(jù)表

對于要運行多次的由數(shù)據(jù)驅(qū)動的測試或操作來說,將值輸出到運行時數(shù)據(jù)表的選項是很有用的。在每次重復或循環(huán)中,QTP檢索當前值并將其存儲在運行時數(shù)據(jù)表的相應的行中。調(diào)試概述 QTP工具為測試腳本開發(fā)工程師提供了強大的腳本調(diào)試功能,可以通過調(diào)試功能很容易的發(fā)現(xiàn)問題、解決問題。設(shè)置斷點調(diào)試查看器(AddtoWatch)場景恢復概述

場景恢復是QTP在運行會話期間測試環(huán)境發(fā)生的意外事件和錯誤時進行恢復的一種手段。在會話運行期間的意外事件和錯誤以及應用程序的崩潰都可能破壞運行會話并歪曲結(jié)果,尤其在測試被掛起后,需要人為干預執(zhí)行恢復所需的操作后才會繼續(xù)執(zhí)行腳本,這時候我們可以考慮采用場景恢復的方式來解決掉此類問題。場景恢復步驟<1>定義觸發(fā)事件彈出式窗口:在應用程序運行期間彈出的一個未知window對話框?qū)ο鬆顟B(tài):應用程序中的對象屬性值與指定值匹配,可以指定每個對象的屬性值測試運行錯誤:測試運行

溫馨提示

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

評論

0/150

提交評論