《軟件測試》課件:QTP功能點講解_第1頁
《軟件測試》課件:QTP功能點講解_第2頁
《軟件測試》課件:QTP功能點講解_第3頁
《軟件測試》課件:QTP功能點講解_第4頁
《軟件測試》課件:QTP功能點講解_第5頁
已閱讀5頁,還剩101頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

QTP功能點講解陳大衛(wèi)Wednesday,January11,2023說明該PPT是對QTP自動化測試工具的常用功能點進行分別性的講解。該課程的講解應(yīng)該在QTP基礎(chǔ)介紹(QuickTestProfessionalTutorial)后進行,主要目的是對基礎(chǔ)介紹中的關(guān)鍵功能點進一步的強化和細化,并且對于基礎(chǔ)介紹中沒有提及的部分功能進行補充性講解。目錄基本錄制與回放三種錄制模式測試對象QTP插件(QTP-Addin)參數(shù)化測試檢查點(CheckPoint)同步點(Synchronization)目錄模塊化測試腳本正則表達式VBS描述性編程虛擬對象錯誤處理機制插入事務(wù)基本錄制與回放錄制:菜單Automation/Record,快捷按鈕Redord,或者快捷鍵F3回放:菜單Automation/Run,快捷按鈕Run,或者快捷鍵F5停止:菜單Automation/Stop,快捷按鈕Stop,或者快捷鍵F4結(jié)果查看:菜單Automation/Results錄制選項菜單Automation/RecordandRunSettings可以更改設(shè)置關(guān)鍵字視圖專家視圖腳本回放結(jié)果查看三種錄制模式標(biāo)準(zhǔn)錄制NormalRecording模擬錄制AnalogRecording低級錄制LowLevelRecordingNormalRecordingQTP默認(rèn)的錄制模式,它通過識別被測試程序中的對象,進而操作被測試程序或者識別被測試程序的屬性。避免了由于屏幕坐標(biāo)發(fā)生位移等擾動,而導(dǎo)致的腳本失敗。但是標(biāo)準(zhǔn)錄制并不能保證被測試程序的所有對象都能夠被識別,因此還需要其它兩種錄制模式來補充。AnalogRecording模擬錄制中,QTP記錄的是用戶對鍵盤和鼠標(biāo)的操作全過程,就如同用戶真實操作鼠標(biāo)和鍵盤一樣。注意,此種錄制模式生成的腳本的可編輯性很差。LowLevelRecording采用低級錄制,無論是多么特殊的對象或者操作,可以被記錄下來,QTP會將所有的對象都默認(rèn)為是Window或者WinObject對象。你也可以用低級錄制記錄下你測試中的精確坐標(biāo)。注意,低級錄制可能會出現(xiàn)無法正確執(zhí)行的錯誤。錄制方式的選擇原則我們首先推薦標(biāo)準(zhǔn)錄制模式,如果確認(rèn)標(biāo)準(zhǔn)錄制模式無法滿足我們的腳本錄制需求,則可以考慮采用模擬錄制或者低級錄制;如果采用模擬錄制或者低級錄制模式,可能需要占用比標(biāo)準(zhǔn)錄制更多的磁盤空間;三種錄制模式可以綜合運用,例如可采取如下策略:錄制主體采用標(biāo)準(zhǔn)錄制,而部分無法正確錄制部分,使用模擬錄制和低級錄制來彌補。測試對象對象類型對象庫分配“邏輯名稱”識別對象TestObject&Run-timeObject對象探測器對象類型對象類型對象屬性對象庫對象庫是QTP存儲對象信息的場所。對象庫分配“邏輯名稱”識別對象QTP中通過存儲于對象庫中的對象來識別被測試程序,每一個對象在對象庫中都有一個邏輯名,該邏輯名稱必須是唯一的。TestObject&Run-timeObjectTestObject:測試控件是QTP創(chuàng)建的控件,用于在測試中識別出Web或者應(yīng)用程序中的實際控件。Run-timeObject:運行時對象是指在測試過程中,執(zhí)行Web或者運行應(yīng)用程序時的實際的對象。GetTOPropertySetTOPropertyGetROProperty對象探測器Tools/ObjectSpyQTP插件(QTP-Addin)QTP插件簡介內(nèi)部插件與外部插件插件的管理與關(guān)聯(lián)插件與檢查點類型的關(guān)系QTP插件簡介QTP支持廣泛的應(yīng)用程序類型,對于不同的應(yīng)用程序類型,要使用不同的插件來進行測試。QTP在使用不同插件時需要為插件提供不同的License。需要使用哪個插件就加載哪個,不要加載不用的插件,這樣可以提高運行效率;在Help/AboutQuickTestProfessional中,或者QTP啟動過程中可以查看當(dāng)前安裝和加載的插件。內(nèi)部插件與外部插件內(nèi)部插件就是安裝完QTP自帶的Activex,VB和Web插件;外部插件是可以通過外部的安裝來擴充的插件,例如Java,.NET插件等;外部插件需要額外購買;目前Flex也有了相關(guān)插件,可以參閱Adobe公司相關(guān)產(chǎn)品介紹http:///products/flashbuilder/插件的管理與關(guān)聯(lián)如果啟動時沒有插件選擇界面,可以在Tools/Options/General選項卡進行設(shè)置;插件關(guān)聯(lián)可以在File/Setting中設(shè)置Modify;插件與檢查點類型的關(guān)系S-支持; NS-不支持; NA-不適用

WebStandardWindowsVBActiveX其它對象標(biāo)準(zhǔn)SSSSNA圖像SNSNSNSNA表SNSNSSNA文本SSSSNA文本區(qū)域NSSSSNA位圖SSSSNA可訪問性SNSNSNSNAXMLSNSNSNSS(文件)頁面SNANANANA數(shù)據(jù)庫NANANANAS(DbTable)參數(shù)化測試參數(shù)化設(shè)置值配置選項查看參數(shù)化的測試結(jié)果輸出數(shù)據(jù)設(shè)置輸出數(shù)據(jù)屬性查看查看測試結(jié)果中的輸出數(shù)據(jù)數(shù)據(jù)關(guān)聯(lián)參數(shù)化設(shè)置值配置選項

查看參數(shù)化的測試結(jié)果輸出數(shù)據(jù)設(shè)置輸出數(shù)據(jù)屬性查看查看測試結(jié)果中的輸出數(shù)據(jù)數(shù)據(jù)關(guān)聯(lián)檢查點(CheckPoint)什么是檢查點檢查點的工作原理添加檢查點檢查點的類型對象檢查點文本檢查點位圖檢查點使用檢查點分析測試什么是檢查點“檢查點”是將指定屬性的當(dāng)前值與該屬性的期望值進行比較的驗證點。以便能夠確定網(wǎng)站或應(yīng)用程序是否正常運行。當(dāng)運行測試或組件時,QTP會將檢查點的期望結(jié)果與當(dāng)前結(jié)果進行比較。如果結(jié)果匹配,檢查點就會通過。如果結(jié)果不匹配,檢查點就會失敗。可以在“測試結(jié)果”窗口中查看檢查點的結(jié)果。檢查點的工作原理—錄制檢查點的工作原理—回放添加檢查點在錄制或編輯時添加檢查點:使用Insert/Checkpoint菜單命令,或者單擊“測試”工具欄上的“插入檢查點”按鈕旁邊的箭頭。這將顯示與關(guān)鍵字視圖的選定步驟相關(guān)的檢查點選項的菜單。添加檢查點在編輯時添加檢查點:右鍵單擊關(guān)鍵字視圖中您要添加檢查點的步驟,然后選擇“插入標(biāo)準(zhǔn)檢查點”。右鍵單擊ActiveScreen中的任意對象,然后選擇“插入標(biāo)準(zhǔn)檢查點”??墒褂迷撨x項為ActiveScreen中的任意對象創(chuàng)建檢查點(即使該對象不是關(guān)鍵字視圖中任一步驟的組成部分)。檢查點的類型檢查點類型描述用法示例標(biāo)準(zhǔn)檢查點檢查對象的屬性值。檢查是否選中某單選按鈕。圖像檢查點檢查圖像的屬性值。檢查圖像源文件是否正確。表檢查點檢查表中的信息。檢查表單元格中的值是否正確。頁面檢查點檢查網(wǎng)頁的特性。檢查加載網(wǎng)頁所需的時間,或者檢查網(wǎng)頁是否包含中斷鏈接。文本/檢查文本字符串是否顯示在網(wǎng)頁或應(yīng)用程序窗口中的適當(dāng)位置。檢查預(yù)期的文本字符串是否顯示在網(wǎng)頁或?qū)υ捒蛏系念A(yù)期位置。文本區(qū)域檢查點位圖檢查點將網(wǎng)頁或應(yīng)用程序的某個區(qū)域捕獲為位圖后對其進行檢查。檢查網(wǎng)頁或網(wǎng)頁的任何部分是否能按預(yù)期顯示。數(shù)據(jù)庫檢查點檢查應(yīng)用程序或網(wǎng)站所訪問的數(shù)據(jù)庫內(nèi)容檢查數(shù)據(jù)庫查詢中的值是否正確??稍L問性檢查點對網(wǎng)站區(qū)域進行識別,以檢查是否符合508部分。檢查網(wǎng)頁上的圖像是否包含ALT屬性(該屬性是W3CWeb內(nèi)容可訪問性規(guī)則所要求的)。XML檢查點檢查XML文檔的數(shù)據(jù)內(nèi)容。注意:XML文件檢查點用于檢查特定的XML文件;XML應(yīng)用程序檢查點用于檢查網(wǎng)頁中的XML文檔。對象檢查點對象檢查點即為標(biāo)準(zhǔn)檢查點,可以通過檢查點屬性設(shè)置對話框,同時對某對象的多個屬性進行檢查。文本檢查點“文本檢查點”檢查文本字符串是否顯示在應(yīng)用程序或網(wǎng)頁的適當(dāng)位置中。文本檢查點在所有加載項環(huán)境中受到支持。參見“插件與檢查點類型的關(guān)系”位圖檢查點“位圖檢查點”檢查位圖格式的網(wǎng)頁或應(yīng)用程序區(qū)域。使用檢查點分析測試同步點(Synchronization)同步點的作用插入同步點全局等待時間的設(shè)置同步點的作用QTP在運行腳本時,腳本經(jīng)常需要“等待”被測程序,否則就可能因為提前執(zhí)行了后續(xù)操作,而導(dǎo)致腳本運行的失敗,例如:等待進度條100%完成;等待某一狀態(tài)信息的出現(xiàn);等待按鈕變?yōu)榭捎脿顟B(tài);等待窗口初始化或刷新完畢;等待一彈出消息(pop-upmessage)完成操作;通過插入同步點操作,保證了腳本運行與被測試程序運行的同步。插入同步點錄制腳本的過程中,可通過Insert/SynchronizationPoint…插入同步點Dialog("Login").WinButton("OK").WaitProperty"enabled",true,10000全局等待時間設(shè)置通過菜單File/Setting的Run選項卡中可以設(shè)定全局性的對象等待時間。模塊化測試腳本模塊化測試腳本的意義Action的劃分原則添加Action插入已存在的Action模塊化測試腳本的意義測試腳本模塊化的設(shè)計可以便于腳本的集中控制,降低復(fù)雜性,限制了改動帶來的影響,提高了腳本的可移植和可復(fù)用性。在QTP中Action是一個可以被重復(fù)使用的最小單位,當(dāng)建立一個全新的測試腳本時,測試腳本中只有一個Action,名為Action1,我們可以插入新的Action或者將原有Action切割成為多個,讓測試腳本更為模塊化且更容易被重復(fù)使用。Action的劃分原則一個Action應(yīng)該對應(yīng)至少一項完整的邏輯任務(wù)操作,就如同函數(shù)或子程序一樣,具有明確的功能實現(xiàn);被多次使用的測試操作,應(yīng)盡量劃分為獨立的Action;Action盡量做到高內(nèi)聚,低耦合,并且盡量減少測試執(zhí)行順序?qū)ζ鋷淼南拗疲粍?chuàng)建Action0,來集中控制測試腳本中其它各個Action;Action劃分例子登錄和退出系統(tǒng)的操作相對獨立,可以被劃為兩個Action,中間的業(yè)務(wù)操作可以作為另外一個Action,如果中間業(yè)務(wù)操作很多,則可以進一步細分。TEST├─Action0│CallAction1│CallAction2│CallAction3│├─Action1│Login│├─Action2│......│└─Action3Signoff添加Action可以使用以下的菜單選項或工具欄上的按鈕,在錄制測試腳本時或是錄制完測試腳本后,插入Action:菜單Insert/CalltoNewAction或是工具欄上的InsertCalltoNewAction按鈕菜單Edit/Action/SplitAction或工具欄上的SplitAction按鈕菜單Insert/CalltoCopyofAction或是在Action上點鼠標(biāo)右鍵,選取InsertCalltoCopyofAction菜單Insert/CalltoExistingAction或是在Action上點鼠標(biāo)右鍵,選取InsertCalltoExistingAction插入新Action拆分已有Action插入已存在的Action插入可復(fù)用的Action將Action設(shè)置為可復(fù)用可復(fù)用Action的查看插入已存在Action的復(fù)本將Action設(shè)置為可復(fù)用菜單Edit/Action/ActionProperties或是在Action上點鼠標(biāo)右鍵,選取ActionProperties。在彈出的Action屬性對話框中勾選上Reusableaction選項??蓮?fù)用Action的查看插入已存在的Action正則表達式QTP中的正則表達式正則表達式的特殊字符QTP中的正則表達式通過正則表達式,QuickTest

可以使用不同的值來標(biāo)識對象和文本字符串。我們可以在以下操作中使用正則表達式:在對話框或編程描述中定義對象的屬性值參數(shù)化步驟使用不同的值來創(chuàng)建檢查點如果在“常量值選項”或“參數(shù)選項”對話框的“值”框中輸入一個特殊字符,QTP會詢問您是否要在每個特殊字符前面添加一個反斜杠(\)。如果單擊“是”,則相應(yīng)的特殊字符前面就會加上一個反斜杠(\),以指示QTP將該字符作為文字處理。如果單擊“否”,QTP將該特殊字符作為正則表達式字符處理。正則表達式的特殊字符默認(rèn)情況下,除了句點(.)、連字符(-)、星號(*)、插字號(^)、方括號([])、圓括號(())、貨幣符號($)、垂直線(|)、加號(+)、問號(?)和反斜杠(\)以外,QuickTest

將正則表達式中的所有字符作為文字處理。當(dāng)一個特殊字符前面帶有反斜杠(\)時,QuickTest

將其作為文字字符處理。VBS描述性編程為什么使用描述性編程描述性編程的運行原理直接描述的方法創(chuàng)建Description對象描述性編程例子描述性編程的特點為什么使用描述性編程錄制方式創(chuàng)建測試腳本是最簡單和快捷的,但是它所具有的局限性也是很明顯的,就是必須依賴測試對象庫,測試腳本中使用的對象都必須是測試對象庫中的對象。在測試過程中,有些界面元素是動態(tài)出現(xiàn)或動態(tài)變化的,或者在錄制的時候沒有添加到對象庫中。描述性編程的運行原理用描述性編程編寫的測試腳本在運行時,QTP會使用測試腳本中給出的對象描述來查找對象,查找的位置不是對象庫,而是測試程序運行時QTP所創(chuàng)建Run-timeObject進行匹配。直接描述的方法TestObject(“PropertyName1:=PropertyValue1”,”…”)例如Window("Text:=Myfile.txt-Notepad").Move50,50Window("Text:=Myfile.txt-Notepad").WinEdit("AttachedText:=Findwhat:").Set"hello"Window("Text:=Myfile.txt-Notepad").WinButton("Caption:=Findnext").Click如果希望在一個測試或組件中多次使用相同的編程描述,則可以將創(chuàng)建的對象賦值給變量。SetMyWin=Window("Text:=Myfile.txt-Notepad")MyWin.Move50,50MyWin.WinEdit("AttachedText:=Findwhat:").Set"hello"MyWin.WinButton("Caption:=Findnext").Click此外,還可以使用With語句:WithWindow("Text:=Myfile.txt-Notepad").Move50,50.WinEdit("AttachedText:=Findwhat:").Set"hello".WinButton("Caption:=Findnext").ClickEndWith創(chuàng)建Description對象set

PropertiesColl

=Description.Create

例如setButtonDesc=Description.Create()ButtonDesc("text").Value="OK"ButtonDesc("enabled").Value=True描述性編程例子SetmyDesc=description.Create()myDesc("attached

text").value="AgentName:"Dialog("Login").WinEdit(myDesc).Set"David"Dialog("Login").WinEdit("Password:").SetSecure"4d6cf96d823798963719ba6e340569a768e86b8f"Dialog("Login").WinButton("text:=OK").Click描述性編程的特點如果在測試對象層次結(jié)構(gòu)的某一點開始使用了描述性編程,則該測試對象層次結(jié)構(gòu)下的后續(xù)測試對象都要使用描述性編程的方式來描述對象。(后續(xù)強迫性)虛擬對象了解虛擬對象虛擬對象的管理定義虛擬對象虛擬對象的使用了解虛擬對象應(yīng)用程序可能包含行為與標(biāo)準(zhǔn)對象相似,但QTP無法識別的對象。您可以將這些對象定義為虛擬對象,并將它們映射到標(biāo)準(zhǔn)類,例如按鈕或復(fù)選框。QTP在運行會話過程中模擬虛擬對象上的用戶操作。在測試結(jié)果中,虛擬對象顯示時類似標(biāo)準(zhǔn)類對象。QTP不支持用于模擬或低級錄制的虛擬對象。了解虛擬對象QTP

根據(jù)虛擬對象的邊界來標(biāo)識虛擬對象。標(biāo)記對象的邊界將指定其大小以及在網(wǎng)頁或應(yīng)用程序窗口中的位置。將某個測試對象指定為您的虛擬對象的父類時,請將虛擬對象邊界的坐標(biāo)指定為與該父對象相關(guān)。錄制測試或組件時,QTP會識別父對象中的虛擬對象,并將其作為測試對象添加到對象庫中,以便QTP可以在運行會話過程中標(biāo)識該對象。注意:錄制和運行測試或組件時,網(wǎng)頁或應(yīng)用程序窗口的大小和位置必須和定義虛擬對象時的大小和位置相同。注意:僅當(dāng)錄制和運行測試或組件時,才能使用虛擬對象。您不能在虛擬對象上插入任何類型的檢查點,也不能使用“對象探測器”來查看其屬性。虛擬對象的管理虛擬對象管理器包含在您的計算機中定義的所有虛擬對象集合。在虛擬對象管理器中,您可以定義和刪除虛擬對象及集合。Tools/VirtualObjects/VirtualObjectManager錯誤處理機制三種錯誤處理方式全局錯誤響應(yīng)VBScript的OnError錯誤處理方式場景恢復(fù)RecoveryScenarios三種錯誤處理方式的優(yōu)先級別定義虛擬對象使用向?qū)Э梢詫⑻摂M對象映射到標(biāo)準(zhǔn)對象類Tools/VirtualObjects/NewVirtualObject虛擬對象的使用定義了虛擬對象的掃雷游戲—新游戲按鈕,可以同標(biāo)準(zhǔn)按鈕一樣操作。全局錯誤響應(yīng)全局錯誤響應(yīng)在TestSettings的Run選項卡中進行設(shè)置:菜單File/Settings全局錯誤響應(yīng)是QTP的系統(tǒng)缺省的錯誤處理,就是說當(dāng)沒有使用其他錯誤處理方式時,系統(tǒng)會自動調(diào)用在這里指定的方式進行錯誤處理。全局錯誤四種設(shè)置選項popupmessagebox:QTP在出現(xiàn)錯誤時顯示一個錯誤消息對話框。要繼續(xù)或結(jié)束運行會話,您必須單擊該消息框中的某個按鈕;processtonextactioniteration:QTP在出現(xiàn)錯誤時繼續(xù)下一個Action循環(huán);stoprun:QTP在出現(xiàn)錯誤時停止測試;processtonextstep:QTP在出現(xiàn)錯誤時跳過錯誤語句,繼續(xù)下一步驟;VBScript的OnError錯誤處理方式由于QTP使用了VBScript作為腳本語言,自然地,VBScrip

的錯誤處理方式在QTP中都適用。在VBScript中,與錯誤處理相關(guān)的三者為:OnErrorResumeNext語句,OnErrorGoTo0語句,以及Err對象。VBScript的OnError錯誤處理方式OnErrorResumeNext一旦這個語句已被處理,腳本引擎將繼續(xù)運行后面的程序,而不理會已經(jīng)發(fā)現(xiàn)的任何錯誤。OnErrorGoTo0使用OnErrorGoto0語句恢復(fù)缺省的錯誤處理行為。在運行這個語句后,發(fā)生的運行期錯誤將導(dǎo)致缺省錯誤處理。在QTP中,缺省錯誤處理就是全局錯誤響應(yīng)。Err對象Err對象重要的屬性有三個:Number,Source,Description。分別是錯誤號,錯誤來源,錯誤描述Err對象會在運行時錯誤發(fā)生的時候賦予新的值,舊的值會被舍棄。Err對象不會受到函數(shù)調(diào)用的影響,它完全是全局的。Err對象可以用Clear方法清空任何時候調(diào)用OnErrorResumeNext或者OnErrorGoTo0的時候,都會清空Err對象Err對象例子OnErrorResumeNextErr.Raise6'Raiseanoverflowerror.MsgBox("Error#"&CStr(Err.Number)&""&Err.Description)Err.Clear'Cleartheerror.場景恢復(fù)RecoveryScenarios測試運行期間的意外事件、錯誤和應(yīng)用程序崩潰會破壞運行并歪曲結(jié)果。這是一個問題,尤其是在無人值守情況下運行測試或組件時,測試或組件會掛起,直到您執(zhí)行恢復(fù)所需的操作。“恢復(fù)場景管理器”提供了一個向?qū)?,該向?qū)е笇?dǎo)用戶完成定義恢復(fù)場景(對意外事件和恢復(fù)運行會話所必需的操作的定義)的過程?;謴?fù)場景管理器菜單Resources/RecoveryScenariosManager可以創(chuàng)建恢復(fù)場景。新建場景—step1新建場景—step2新建場景—step3新建場景—step4新建場景—step5新建場景—step6新建場景—step7三種錯誤處理方式的優(yōu)先級別錯誤恢復(fù)場景中的錯誤處理優(yōu)先級最高(RecoveryOperation)OnErrorResumeNext優(yōu)先級次之錯誤恢復(fù)場景中的后處理方式優(yōu)先級別再次之(Post-RecoveryTestRunOptions)缺省錯誤響應(yīng)優(yōu)先級別最

溫馨提示

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

最新文檔

評論

0/150

提交評論