QTP.2完全使用手冊_第1頁
QTP.2完全使用手冊_第2頁
QTP.2完全使用手冊_第3頁
QTP.2完全使用手冊_第4頁
QTP.2完全使用手冊_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

功能自動化測試工具(QTP_9.2)完全使用手冊8月QTP工具簡介自動化測試的好處 但凡有過手工測試經(jīng)歷的讀者,對于手工測試的缺陷一定是深有體會的。手工測試既單調(diào)又耗時,需要投入大量的人力,并且更糟糕的是,假如項目時間有限制,那么會常常導(dǎo)致無法徹底地手工測試所有功能,從而導(dǎo)致某些潛在的軟件缺陷沒有發(fā)現(xiàn),進而使得軟件產(chǎn)品的質(zhì)量存在較大的隱患。鑒于上述手工測試的缺陷,市面上出現(xiàn)了一大批功能自動化測試工具,QTP就是其中的翹楚。作為MI企業(yè)推出的拳頭產(chǎn)品之一,QTP可以測試Windows原則應(yīng)用測試、各類Web對象,ActiveX控件,VisualBasic應(yīng)用程序等,并且還可以根據(jù)實際狀況加載不一樣的插件,從而測試例如Oracle,SAP應(yīng)用等服務(wù)。QTP通過記錄并模擬實際顧客的操作,例如點擊鼠標(biāo)、單擊圖形顧客界面(GUI)等,并通過一系列的強化功能,如設(shè)置檢查點,進行參數(shù)化操作等,實現(xiàn)了對功能測試的自動化過程,從而將測試工程師從大量繁瑣的手工測試中解放出來。迅速(Fast)QTP運行測試比實際顧客快得多可靠(Reliable)測試每次運行時都會精確執(zhí)行相似的操作,因此消除了人為的錯誤可反復(fù)(Repeatable)您可以通過反復(fù)執(zhí)行相似的操作來測試網(wǎng)站或應(yīng)用程序的反應(yīng)可程序化(Programmable)您可以編寫復(fù)雜的測試來找出隱藏的信息廣泛(Comprehensive)您可以建立一套測試來測試網(wǎng)站或應(yīng)用程序的所有功能可復(fù)用性(Reusable)您可以在不一樣版本的網(wǎng)站或應(yīng)用程序上反復(fù)使用測試,甚至在顧客界面更改的狀況下也不例外QTP測試流程 QTP的測試流程可以分為7個階段,準(zhǔn)備錄制——>錄制腳本——>增強腳本——>調(diào)試腳本——>運行測試——>成果分析——>匯報缺陷。準(zhǔn)備錄制:在進行腳本錄制前,需要確認待錄制的程序和QTP的有關(guān)參數(shù)與否設(shè)置好,同步要對測試腳本中的環(huán)節(jié)事先運行一遍或多遍,首先熟悉腳本環(huán)節(jié),另首先也看待錄制程序進行事前檢查。錄制腳本:按照腳本設(shè)計中的環(huán)節(jié),逐漸進行腳本錄制。假如不慎操作了不在計劃中的環(huán)節(jié),不要慌亂,我們可以在后續(xù)的環(huán)節(jié)中對腳本進行調(diào)整。增強腳本:對前期錄制的腳本進行對應(yīng)的增長腳本操作,如設(shè)置檢查點,以自動判斷程序的輸出與否與預(yù)期一致;設(shè)置參數(shù)化,以滿足程序用多組數(shù)據(jù)來執(zhí)行相似的操作;編寫邏輯判斷語句、循環(huán)語句等,從而實現(xiàn)腳本的多次執(zhí)行等等。調(diào)試腳本:在完畢腳本的增強操作后,我們需要對腳本進行調(diào)試工作,從而保證在后續(xù)的執(zhí)行測試過程中能順利的運行。運行測試:通過運行程序,來檢查程序的行為。在執(zhí)行該環(huán)節(jié)時,QTP將按照腳本中的設(shè)置,自動打開運行程序或者瀏覽器,執(zhí)行腳本中的每個環(huán)節(jié)。成果分析:將運行測試的成果記錄下來,以便確定應(yīng)用程序中的缺陷匯報缺陷:假如安裝了QC,則能將測試成果中發(fā)現(xiàn)的缺陷匯報給QC中,從而實現(xiàn)了與測試管理工具的無縫連接。QTP的安裝闡明 QTP運行在Windows平臺上,下表為QTP配置的基本規(guī)定安裝環(huán)境配置規(guī)定CPU256MHZ以上操作系統(tǒng)Windows98SE以上內(nèi)存規(guī)定128MB以上磁盤空間規(guī)定200MB以上瀏覽器規(guī)定IE5.0以上Netscape4.0以上 在安裝QTP之前,需要闡明的一種問題是,務(wù)必把QTP的安裝文獻放在一種全英文途徑下,例如:D:\QTP9.2;假如安裝文獻的途徑中具有中文字符,則有也許導(dǎo)致安裝過程中出現(xiàn)錯誤。 QTP安裝環(huán)節(jié)如下(闡明,在這里我們以QTP9.2作為簡介對象):以管理員的身份登錄系統(tǒng),點擊QTP安裝文獻中的“setup.exe”圖標(biāo),自動彈出安裝頁面,如下圖所示: 其中:“QuickTestProfessional安裝”為安裝主程序;“產(chǎn)品信息”為一種鏈接,鏈接到QTP的產(chǎn)品信息頁面;“自述文獻”為QTP的Readme文獻;“QualityCenter加載項”為安裝QualityCenter客戶端,從而和QTP協(xié)同使用;“QuickTestPlus”為安裝QuickTest的工具包; 我們點擊其中的“QuickTestProfessional”選項,進入下一步。點擊“QuickTestProfessional”后,系統(tǒng)會首先判斷系統(tǒng)與否安裝了.NetFramework2.0(該程序為Microsoft開發(fā)的,目的在于容許使用不一樣編程語言和庫進行協(xié)同工作以創(chuàng)立基于Windows的應(yīng)用程序)。假如系統(tǒng)中沒有安裝,則會彈出一種提醒界面,如下圖所示: 我們點擊圖中的“確定”按鈕,從而安裝.NetFramework2.0程序。我們按照引導(dǎo)程序安裝.NetFramework2.0程序后,系統(tǒng)將進入QTP安裝中的許可協(xié)議面中,如下圖所示:點擊其中的“我接受該許可協(xié)議中的條款(A)”,然后點擊其中的“是(Y)”按鈕,進入下一種安裝界面。(3)在彈出注冊信息界面,填寫顧客名、企業(yè)名稱、維護號,點擊“下一步”(4)在彈出的“許可證類型”界面中,如下圖所示: 我們選擇其中的“演示版”(假如有正版授權(quán),我們可以選擇對應(yīng)的“單機版”或“并發(fā)版”),QTP的演示版提供了14天的試用期限。需要闡明的是,假如計算機本來安裝了Winrunner或者是QTP的網(wǎng)絡(luò)版,那么就不能再安裝演示版。(5)在彈出的配置選項中,如下圖所示: 設(shè)置該界面的目的在于嚴禁瀏覽器的腳本調(diào)試功能,系統(tǒng)提供了自動配置和手動設(shè)置兩種類型。這里我們選擇自動配置選項。當(dāng)然,我們也可以選擇手工設(shè)置,詳細環(huán)節(jié)如下:打開IE瀏覽器,選擇“工具/Internet選項”;選擇“高級”標(biāo)簽,選擇“嚴禁調(diào)試腳本”復(fù)選框,并點擊“確定”按鈕。(6)在彈出的調(diào)試支持界面中,如下圖所示: 該界面問詢與否安裝Microsoft的腳本調(diào)試工具——ScriptDebugger。假如下載了該腳本調(diào)試工具,那么我們運用QTP錄制腳本時,在設(shè)置斷點等功能時,就能啟用腳本調(diào)試功能。因此提議假如能上網(wǎng),則按照該界面中的默認選項設(shè)置,下載并安裝MicrosoftScriptDebugger工具。(7)在彈出的“安裝類型”界面中,如下圖所示: 在該面中,顧客可以根據(jù)實際狀況,選擇完全安裝或者自定義安裝。假如選擇自定義安裝,則顧客可以根據(jù)自身狀況,酌情選擇需要安裝加載的插件。在這里,我們選擇完全安裝。(8)在彈出“選擇目的位置”界面中,點擊“開始”(9)安裝完畢后,需要重新啟動計算機,這樣QTP就可以使用了。(10)破解安裝QTP9.2原程序安裝完原程序后,將GetLicense.exe注冊機放到安裝目錄(默認C:\ProgramFiles\MercuryInteractive\QuickTestProfessional)并運行它,注冊機將生成一種注冊文獻,該文獻在C:\ProgramFiles\CommonFiles\MercuryInteractive\LicenseManager。用記事本打開名字為lservrc的文獻,復(fù)制“第一行中含#之前的所有字符”。第一次運行時,選擇seatlicence,將前面復(fù)制的字符粘貼。確認后,就可以無限期免費使用QTP9.2。QTP構(gòu)成 打開QTP的啟動程序后,系統(tǒng)將展示如下的界面: 其中:“Tutorial”為聯(lián)機協(xié)助;“StartRecording”為開始錄制測試腳本;“OpenExisting”為打開一種原有的測試腳本;“BlankTest”為新建一種空的測試腳本。我們選擇其中的“BlankTest”進入QTP的主界面,如下圖所示:下面讓我們來認識一下QTP的構(gòu)成:標(biāo)題欄:顯示目前打開測試腳本的名稱;菜單欄:包括QTP所有功能的菜單項選擇項;文獻工具欄:包括一系列的按鈕,用于協(xié)助管理測試;測試工具欄:包括一系列的按鈕,用于協(xié)助完畢測試流程;測試面板:顯示測試成果的主體部分,包括兩大部分,關(guān)鍵字視圖(KeywordView)和專家視圖(ExpertView);數(shù)據(jù)表格:用于對測試進行參數(shù)化,可以存儲和管理某個測試對象的多種不一樣的數(shù)值,它包括兩個標(biāo)簽,Global和Action1;顧名思義,Global中的數(shù)據(jù)合用于所有的Action中,而Action1中的數(shù)據(jù)僅合用于某個Action中;活動屏幕:在運行腳本時,活動屏幕中能實時地顯示出目前正在運行的不一樣界面;狀態(tài)欄:顯示QTP的狀態(tài)。使用MercuryTours范例網(wǎng)站為了以便顧客更好的理解、學(xué)習(xí)、掌握QTP的操作,QTP自身帶了范例,這就是非常經(jīng)典的“飛機訂票”案例。點擊“開始”——>“所有程序”——>“QuickTestProfessional”——>“SampleApplications”,我們就能看到這兩個案例。其中“Flight”是單機版的,用于管理名行系統(tǒng)的訂票記錄,具有新建、查詢訂單的功能,而“MercuryToursWebsite”是QTP提供的一種基于B/S構(gòu)造的小型網(wǎng)站系統(tǒng)。在前面的章節(jié)中,我們已經(jīng)提到QTP與Winrunner最大的區(qū)別之一,就是QTP更合用于B/S架構(gòu)的測試,同步鑒于目前基于B/S架構(gòu)的系統(tǒng)越來越多,因此在背面的章節(jié)中,我們將重點簡介QTP錄制“MercuryToursWebsite”時的基本操作,對于“Flight”這種C/S架構(gòu)的操作將不做簡介,但愿讀者能諒解,有愛好的讀者在學(xué)習(xí)完本章后可以自己去嘗試。下面,我們進入案例中來先熟悉一下有關(guān)內(nèi)容。打開瀏覽器,在地址欄中輸入:,將打開MercuryTours主頁;要登錄并使用MercuryTours應(yīng)用程序,我們需要進行注冊顧客操作。在打開的主頁上,點擊“REGISTER”按鈕,在打開的注冊頁面中,輸入顧客名、密碼,并確認密碼(注冊頁面中的紅色標(biāo)出部分為必填項,其他為選填項,可以不填寫,其他的頁面中也同樣)。填寫完畢后,點擊“SUBMIT”按鈕,MercuryTours將完畢注冊操作,在彈出確實認頁面上,選中并點擊“SIGN-IN”按鈕進入應(yīng)用程序,在跳轉(zhuǎn)的頁面中,輸入剛剛注冊成功的顧客名和密碼,點擊“SUBMIT”按鈕進可進入“FlightFinder”頁面。從“FlightFinder”頁開始,我們就可以按照屏幕上的闡明,完畢從航班信息展示到預(yù)定航班等一系列的操作。需要闡明的是,在“BookaFlight”頁面中,紅色部分標(biāo)出的“Passenger”和“CreditCard”輸入的信息可以是虛構(gòu)的信息。在完畢訂票的操作后,我們點擊頁面上方的“SIGN-OFF”按鈕,退出系統(tǒng),這樣一種完整的訂票流程就完畢了。這個流程但愿大家多操作幾遍,到達純熟操作的程度,從而為我們下面簡介QTP的基礎(chǔ)合用打下一種良好的基礎(chǔ)。QTP基礎(chǔ)使用 在上一節(jié)中,我們提到QTP的測試流程分為七個關(guān)鍵環(huán)節(jié),其中有關(guān)第一種環(huán)節(jié)“準(zhǔn)備錄制”在商一節(jié)中我們已經(jīng)簡介過了,因此不再贅述。對于最終一種環(huán)節(jié)“匯報缺陷”,有關(guān)的內(nèi)容將在測試管理篇中進行簡介。因此本節(jié)和下一節(jié)將重點簡介剩余的五個環(huán)節(jié)。下面我們按照環(huán)節(jié)一步步來展開論述QTP的使用。錄制腳本 在本部分中,我們將錄制在MercuryTours網(wǎng)站上預(yù)定從Frankfurt到London航班的進程。打開QTP:啟動QTP程序,保證在“加載項管理器”中,勾選上了“Web”選項。然后在探出的導(dǎo)航頁面中選擇“BlankTest”選項,或者在文獻工具欄中選擇“New”——>“Test”選項,從而打開一種新的錄制程序界面。啟動錄制:在打開新的錄制程序后,點擊測試工具欄中的“Record”按鈕,系統(tǒng)將打開“錄制和運行設(shè)置”對話框,如下圖所示: 在“Web”選項卡中,我們可以選擇瀏覽器類型、輸入待測試網(wǎng)站的地址、選擇“當(dāng)測試關(guān)閉時與否關(guān)閉瀏覽器”和“不在已打開的瀏覽器上錄制和運行”等狀態(tài)。其中,瀏覽器類型我們選擇IE,待測試網(wǎng)站地址輸入:http://。至于背面兩個選項,我們啟用默認狀態(tài)(當(dāng)然大家可以根據(jù)實際狀況進行對應(yīng)的選擇)。在“Windows應(yīng)用程序”選項卡中,確認“在如下應(yīng)用程序(會話開始時打開的)上錄制并運行”處在選定狀態(tài),且未列出任何應(yīng)用程序。該設(shè)置可防止在錄制腳本期間無意中錄制在多種Windows應(yīng)用程序(如Office)上執(zhí)行的操作。上述環(huán)節(jié)都執(zhí)行完畢后,點擊“確定”按鈕,就能開始QTP的錄制了。需要闡明的是,QTP是可以用來錄制C/S程序的,當(dāng)錄制C/S程序時,我們需要在“Windows應(yīng)用程序”選項卡中指定應(yīng)用程序即可。開始錄制:在彈出的IE界面中,輸入我們此前注冊過的顧客名和密碼,點擊“Sign-In”按鈕;進入到“FlightFinder”頁面;在“FlightFinder”頁面中,我們在“DepartingFrom”選擇“Frankfurt”,“ArrivingIn”選擇“London”,其他的都采用默認值,然后點擊“Continue”按鈕,進入“SelectFlight”頁面;需要闡明的是,在執(zhí)行這一環(huán)節(jié)時,請不要點擊“ViewCalendar”按鈕,由于該按鈕會打開一種基于Java的日歷,而本次測試未加載Java加載項(Java加載項是需要單獨購置的外部加載項)。在“SelectFlight”頁面中,我們還是采用默認值,點擊“Continue”按鈕,進入“BookAFlight”頁面;在“BookAFlight”頁面中,我們需要在紅色標(biāo)出的部分填寫信息,這些信息可以輸入任意虛構(gòu)的信息,同步在“BillingAddress”部分,勾選“TicketlessTravel”選項。上述信息填寫完畢后,點擊“SecurePurchase”按鈕,進入“FlightConfirmation”頁面;在“FlightConfirmation”頁面中,我們確認一下信息后,點擊“BackToHome”頁面;停止錄制:在上述環(huán)節(jié)都執(zhí)行完畢后,一種完整的測試流程已經(jīng)完畢了,這個時候我們需要停止QTP的錄制程序,只需要點擊測試工具欄中的“停止”按鈕即可。保留測試:錄制完畢的腳本,我們可以將其進行保留操作。執(zhí)行并分析腳本 在開始執(zhí)行腳本之前,讓我們先回憶一下我們上一階段的成果,如下圖所示:下面我們對其中的一部分內(nèi)容進行闡明。Item:以基于圖標(biāo)的層次樹形是現(xiàn)實每個環(huán)節(jié)(測試對象、使用程序?qū)ο?、函?shù)調(diào)用或語句)的項。Operation:要在項上執(zhí)行的操作,如Select、Set等。Value:選定操作的參數(shù)值,如,單擊圖像時要使用的鼠標(biāo)按鈕。Documentat:描述環(huán)節(jié)所執(zhí)行操作的自動文檔,用易于理解的句子編寫。左下角的DataTable重要寄存的是某些參數(shù),我們會在背面的學(xué)習(xí)過程對這部分進行深入學(xué)習(xí);右下角的ActiveScreen展示的是每個環(huán)節(jié)所執(zhí)行的動作,其中用粉色框部分突出顯示的是目前環(huán)節(jié)所點擊的按鈕,如上圖所示,目前環(huán)節(jié)點擊的是“BACKTOHOME”按鈕,我們還可以選擇不一樣的環(huán)節(jié),看看ActiveScreen顯示的圖片;下面開始回放一遍剛剛錄制的腳本,點擊測試工具欄中的“執(zhí)行”按鈕,系統(tǒng)將自動進入腳本回放階段,彈出如圖XX所示的界面。這個界面重要是提醒回放的成果保留在什么位置。我們采用默認位置,點擊“確定”按鈕,系統(tǒng)將開始進行腳本回放。腳本回放的目的在于:通過腳本回放我們可以看看我們錄制的腳本與否是按照當(dāng)時設(shè)計的環(huán)節(jié)執(zhí)行的,同步通過腳本回放我們能判斷腳本錄制與否成功。QTP在進行腳本回放的同步,會自動彈出IE窗口,在IE中會按照錄制腳本的環(huán)節(jié)逐一進行操作,我們可以通過IE窗口中的動作來觀測腳本的錄制與否和當(dāng)時設(shè)計的一致。腳本回放完畢后,QTP將自動啟動測試成果窗口,如圖XX所示:測試成果窗口分為兩個部分顯示測試執(zhí)行成果:TestResultTree:以樹狀圖的方式在窗體的左側(cè)顯示出測試腳本所執(zhí)行的額環(huán)節(jié),我們可以將樹展開檢查每一種環(huán)節(jié),所有的執(zhí)行環(huán)節(jié)都會以圖示的方式表達。假如最終的測試成果為失敗,我們可以通過TestResultTree展開后迅速查找到究竟是哪個環(huán)節(jié)導(dǎo)致的失敗。測試成果的詳細信息:窗體的右側(cè)顯示的是測試成果的詳細信息,其中在第一種表格中會顯示哪些反復(fù)(iteration)是通過的,哪些反復(fù)是失敗的;第二個表格顯示的是腳本的檢查點,哪些是通過的,哪些是失敗的,以及有幾種警告信息。 闡明:所謂反復(fù),我們可以這樣理解,QTP是以不一樣的資料執(zhí)行整個測試或者某個動作的,每一次執(zhí)行可以成為一種反復(fù),并且每個反復(fù)都會被編號。QTP操作技巧檢查點 在學(xué)習(xí)QTP的檢查點之前,我們首先要理解什么是檢查點,以及檢查點的作用是什么?其實在QTP、Winrunner、Loadrunner中均有檢查點的概念,其含義和作用都是相似的。所謂檢查點,就是與目前錄制腳本中的某個元素(也許是圖片,也許是網(wǎng)頁,也也許是文字等)之前插入一種驗證點,看其與否與預(yù)期成果一致。插入檢查點的好處不言而喻,它能自動跟蹤某個關(guān)鍵窗口元素的顯示狀況,而不用手工去檢查。 檢查點的設(shè)置,我們可以在錄制腳本的過程中設(shè)置,也可以在腳本錄制完畢后再設(shè)置。 QTP提供了如下檢查點:檢查點類型闡明范例原則檢查點檢查對象的屬性檢查某個radiobutton與否被選用圖片檢查點檢查圖片的屬性檢查圖片的來源文獻與否對的表格檢查點檢查表格的屬性檢查表格內(nèi)的字段內(nèi)容與否對的網(wǎng)頁檢查點檢查網(wǎng)頁的屬性檢查網(wǎng)頁加載的時間或者網(wǎng)頁與否具有不對的的鏈接文字/文字區(qū)域檢查點檢查網(wǎng)頁上或者窗口上出現(xiàn)文字與否對的檢查訂票后的與否出現(xiàn)訂票成功的文字圖像檢查點截取網(wǎng)頁或窗口的畫面檢查畫面與否對的檢查網(wǎng)頁與否如預(yù)期展現(xiàn)數(shù)據(jù)庫檢查點檢查數(shù)據(jù)庫的內(nèi)容與否對的檢查數(shù)據(jù)庫查詢的值與否對的Accessiblity檢查點Identifiesareasofawebsitetocheckforsection508comliancyXML檢查點檢查XML文獻的內(nèi)容XML檔案檢查點是用來檢查特定的XML檔案;XML應(yīng)用程序檢查點則是用來檢查網(wǎng)頁內(nèi)所有使用的XML文獻 下面,我們重點學(xué)習(xí)一下其中的原則檢查點、圖片檢查點、文字檢查點和表格檢查點。原則檢查點:原則檢查點是用來檢查窗口中的控件對象(如文本框、按鈕等)的,但凡存儲到對象倉庫(ObjectRepository)中的對象它都能檢查。其操作措施如下:首先,在關(guān)鍵字視圖中選擇要檢查的對象,然后選擇菜單欄中的Insert—>CheckPoint—>StandardCheckPoint,如圖XX所示;或者直接在ActiveScreen上選擇要檢查的對象,右擊鼠標(biāo),選擇其中的InsertStanardCheckPoint,如圖所示。選擇完畢后,QTP會彈出原則檢查點屬性對話框,如圖XX所示。在該對話框中,我們可以根據(jù)實際狀況選擇需要檢查的屬性,例如選擇name屬性,其值為login。那么在程序運行期間,QTP會根據(jù)這個屬性來檢查該按鈕的實際值和預(yù)期一致。 在該頁面中,尚有其他某些屬性設(shè)置,其含義如下ConfigureValue:屬性值,它有兩個選項Constant:屬性為一種常量;Parameter:屬性為一種可變的參數(shù),可以自己設(shè)置Checkpointimeout:QTP在該檢查點停留的最大時間,假如超過該事件,屬性還和預(yù)期不符,則系統(tǒng)會報錯;Insertstatement:插入檢查點的位置,一般系統(tǒng)的默認值為插入目前環(huán)節(jié)之前;原則點插入完畢后,我們可以在關(guān)鍵字視圖和專家視圖中進行查看,如圖XX和圖XX所示。文字檢查點:原則檢查點可以檢查窗口中的控件對象,那么對于沒有存儲到對象倉庫中的文字和圖片,原則檢查點是無法進行驗證的。因此針對這一問題,QTP引入了圖片檢查點和文字檢查點。 文字檢查點的作用就是檢查應(yīng)用程序窗體上或者Web網(wǎng)頁上的文字信息與否和預(yù)期相符,其操作措施和原則檢查點的措施類似;對于文字檢查點的操作我們不做贅述(我們以selectaflight頁面中的depart標(biāo)題信息中的frankfurt作為我們聯(lián)絡(luò)文字檢查點的示例),我們重點學(xué)習(xí)一下文字檢查點的某些屬性。當(dāng)我們在插入一種文字檢查點后,系統(tǒng)將彈出如圖XX所示的文字檢查點對話框。在上圖所示的界面中,展示出文字檢查點的屬性CheckedText:檢查被選擇的文本。TextBefore:檢查被選擇文本之前的文本;TextAfter:檢查被選擇文本之后的文本;Constant:設(shè)置文字內(nèi)容為一種詳細的常量;Parameter:設(shè)置文本內(nèi)容為一種可變的參數(shù);MatchCase:與否辨別大小寫;Ignorespaces:與否忽視空格;Exactmatch:精確匹配,假如不選中該項,那實際成果中假如完全包括預(yù)期成果或者包括預(yù)期成果的一部分也能通過;Textnotdisplayed:不顯示的文字與否要檢查;Checkpointtimeout:QTP在該檢查點停留的最大時間,假如超過該事件,屬性還和預(yù)期不符,則系統(tǒng)會報錯;Insertstatement:插入檢查點的位置,一般系統(tǒng)的默認值為插入目前環(huán)節(jié)之前;圖片檢查點:圖片檢查點的作用是檢查程序運行時的某幅圖片與否和預(yù)期相符。需要闡明的是,假如由于顯卡、操作系統(tǒng)、辨別率的不一樣,有也許導(dǎo)致圖像檢查點的誤差,這是就需要顧客根據(jù)實際狀況靈活應(yīng)用。圖片檢查點的應(yīng)用和文字檢查點是相似的,在此我們不做詳細簡介。表格檢查點:表格檢查點的作用是檢查程序運行時某個表格與否和預(yù)期相符。和文字檢查略不一樣的是,文字檢查點只能檢查一種詞語,而表格檢查點可以檢查一種表格(一種表格有多少元素,表格檢查點就會設(shè)置幾種檢查元素)。我們以Bookaflight中機票價格為例來學(xué)習(xí)表格檢查點的設(shè)置:進入關(guān)鍵字視圖,選擇bookaflight,然后在ActiveScreen中選擇第一種航班價格(270),點擊鼠標(biāo)右鍵,選擇InsertStandardCheckpoint,系統(tǒng)將一種對話框,這是系統(tǒng)默認選擇的是WebElement:270,這是我們選擇上一層的WebTable對象,如圖XX所示。(當(dāng)我們選擇WebTable時,在ActiveScreen中,對應(yīng)的表格也將突出顯示)點擊上圖中的OK按鈕,系統(tǒng)將彈出如圖XX所示的表格檢查點 系統(tǒng)默認是每個字段都會被勾選,表達所有字段都會做檢查。我們可以根據(jù)實際狀況,勾選要做檢查的字段。我們在此勾選第一種270,如圖XX所示點擊ok按鈕,系統(tǒng)將完畢表格檢查點的設(shè)置。在關(guān)鍵字視圖中也將出現(xiàn)對應(yīng)的檢查點,如圖XX所示參數(shù)化 參數(shù)化是QTP中一種十分重要的功能。我們在平常測試過程中,常常碰到這樣的狀況,例如在訂票時,我們也許要輸入100組不一樣的訂票數(shù)據(jù),最直接的處理措施就是根據(jù)這些不一樣的數(shù)據(jù)錄制100組腳本,不過這樣的工作量可想而知。在QTP中,通過引入?yún)?shù)化措施,將我們從這些龐大的工作中解放出來,我們可以錄制一種腳本,通過參數(shù)化,建立這100組不一樣的數(shù)據(jù),QTP在執(zhí)行測試腳本時,就會分別使用這100組數(shù)據(jù),執(zhí)行100次新增訂單的測試。 下面,我們此前面錄制的訂票腳本為例,來學(xué)習(xí)怎樣在QTP中使用參數(shù)化功能。在最初的腳本中,我們錄制的是從Frankfurt到London這組數(shù)據(jù),并沒有測試其他地點,因此我們在此選擇將出發(fā)地點作為我們練習(xí)參數(shù)化的“戰(zhàn)場”。打開前面錄制好的訂票腳本,進入關(guān)鍵字視圖中,將其所有展開,進入Findaflight—>fromport,選擇其中的Value列,點擊其中的參數(shù)化圖標(biāo),如圖XX所示:系統(tǒng)將彈出參數(shù)設(shè)置的對話框,如圖XX所示: 在該對話框中,其各屬性闡明如下:Constant:輸入為一種常量;Parameter:輸入?yún)?shù)化;我們選擇parameter選項,會看到如圖XX所示的選項Datatable:在數(shù)據(jù)表中設(shè)置參數(shù)Environment:從系統(tǒng)環(huán)境變量中獲取參數(shù),如主機名稱等;Randomnumber:系統(tǒng)產(chǎn)生一種隨機數(shù)作為參數(shù),隨機數(shù)的范圍可以進行設(shè)定Name:參數(shù)名稱Locationindatatable:選擇參數(shù)的使用范圍;其中Globalsheet是指該參數(shù)合用于全局。Currentactionsheet(local)是指該參數(shù)僅合用目前的Action。 這里我們選擇Parameter選項,選擇其中的Datatable,參數(shù)名設(shè)置為departure,其他都選用默認選項,點擊ok按鈕后,我們會發(fā)目前關(guān)鍵字視圖左下角中的Datatable中出現(xiàn)一列名為depature的參數(shù),其第一種值就是我們最開始錄制腳本是的frankfurt,如圖XX所示;下面,我們開始在數(shù)據(jù)表中輸入?yún)?shù)。我們點擊Datatable中的departure列,在其第二行中輸入portland,第三行輸入seattle;這個時候,我們的參數(shù)化工作與否已經(jīng)結(jié)束呢?不,我們與否還記得在前面講檢查點的時候,我們曾經(jīng)對frankfurt設(shè)置過文字檢查點。假如我們對findaflight頁面中的frankfurt進行了參數(shù)化,那么必將對背面的文字檢查點產(chǎn)生影響。因此在此我們還要修正受到參數(shù)化影響的測試環(huán)節(jié)。我們進入frankfurt這個文字檢查點,進入該檢查點的對話框,選擇其中parmeter選項,并點擊其parameteroptions選項,如圖XX所示 系統(tǒng)將啟動一種對話窗口,我們在name屬性中的下拉列表中選用我們設(shè)置的參數(shù)名departure,指定這個文字檢查點使用departure字段中的值,當(dāng)成是檢查點的預(yù)期值,如圖XX所示。 這樣一種完整的參數(shù)化過程就結(jié)束了,我們可以運行一下參數(shù)化后的腳本,看與否能成功。其運行成果如圖XX所示。輸出值 在前面學(xué)習(xí)參數(shù)化的過程中,我們是通過datatable來設(shè)置不一樣的參數(shù)。其實我們還可以從應(yīng)用程序輸出數(shù)據(jù)到datatable,并且該數(shù)據(jù)還可以在后續(xù)階段被使用。 我們還是以我們前面錄制的飛機訂票腳本作為我們學(xué)習(xí)輸出值的范例。我們在學(xué)習(xí)參數(shù)化時,曾經(jīng)將出發(fā)地進行了參數(shù)化操作,細心的讀者會發(fā)現(xiàn)對出發(fā)地進行參數(shù)化操作后,會出現(xiàn)如下一種問題,那就是不一樣的出發(fā)地,會導(dǎo)致在BookaFlight界面中的機票價格不一樣。假如我們對機票價格設(shè)置了文字檢查點,那么由于出發(fā)地不一樣導(dǎo)致的機票價格不一樣,將會直接導(dǎo)致機票價格文字檢查點不能通過驗證,那么怎樣來處理這個問題呢?這個時候,就需要引入QTP中的輸入值。其詳細操作措施如下:此前面我們學(xué)習(xí)參數(shù)化的腳本為基礎(chǔ),在其基礎(chǔ)之上按照表格檢查點設(shè)置環(huán)節(jié),在Bookaflight界面中為第一種機票價格設(shè)置表格檢查點; 針對這個腳本,我們嘗試著運行一遍,看當(dāng)作果怎樣?其最終止果如圖XX所示產(chǎn)生錯誤的原因我們在前面已經(jīng)分析過了,下面我們開始來分析怎樣處理這個錯誤。在Bookaflight頁面中的機票是從Selectaflight頁面中讀取過來的,因此我們的測試腳本應(yīng)當(dāng)從Selectaflight頁面中獲取機票價格,從而去驗證Bookaflight頁面上顯示的機票價格。因此在關(guān)鍵字視圖中,我們選擇Selectaflight,在ActiveScreen中選

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論