版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
自動化測試工具QTPQTP全稱為QuickTestProfessional,即專業(yè)化快速測試軟件,是一種企業(yè)級自動化測試工具。QTP為HP(惠普)公司產(chǎn)品,現(xiàn)已成為軟件測試行業(yè)的主流自動化測試軟件。本次畢業(yè)設(shè)計使用的QTP版本為10.0。使用QTP的目的是想用它來實現(xiàn)重復(fù)的手動測試的自動執(zhí)行,它主要用于回歸測試和針對同一款軟件的多版本測試。使用QTP相對于重復(fù)的手工測試而言,大大縮短了項目周期,節(jié)省了人力資源,提高了工作效率。不過由于QTP只在一些特定的情況下比較適用,所以它并不能完全的替代手工測試。因此在測試前要考慮好如何對應(yīng)用程序進(jìn)行測試,例如要測試哪些功能、操作步驟、輸入數(shù)據(jù)和期望的輸出數(shù)據(jù)等。QTP提供符合所有主要的應(yīng)用程序環(huán)境的功能策劃四和回歸測試的自動化。采用關(guān)鍵字驅(qū)動的理念來簡化測試用例的創(chuàng)建和維護(hù)。它讓用戶可以直接錄制屏幕上的操作流程,自動生成功能測試或者恢復(fù)測試用例。專業(yè)的測試試著也可以通過提供的內(nèi)置腳本和調(diào)試環(huán)境來取得對測試和對象屬性的完全控制。[12]5.1QTP的特點及應(yīng)用場景QTP作為自動化測試領(lǐng)域的主流測試工具,擁有諸多優(yōu)點。它能夠提高測試質(zhì)量,提高測試效率,提高測試覆蓋率,同時還能執(zhí)行手工測試不能完成的測試任務(wù),能夠更好地重現(xiàn)軟件缺陷的能力,更好地利用資源。當(dāng)然QTP也有它的局限性。在進(jìn)行定制性項目,周期很短的項目的時候,以及對業(yè)務(wù)規(guī)則復(fù)雜的對象,涉及物理交互的對象進(jìn)行測試時使用QTP不但不能獲得成果,反而會減低測試效率。在人體感觀與易用性測試中QTP無法做出主觀的判斷,與此同時對不穩(wěn)定的軟件或系統(tǒng)進(jìn)行測試時,因不能重復(fù)使用測試腳本,所以QTP并不能發(fā)揮它的優(yōu)勢,反而會加重測試任務(wù),延長項目周期。QTP在實際使用過程會遇到各種復(fù)雜的情形,根據(jù)不同的系統(tǒng),不同的項目需求等要合理的利用QTP,在一些不適合QTP使用的場景中,為保證效率,要使用人工來替代。因此我們給出了QTP的一些常見適用與不適用的場景。QTP適用的場景:(1) 在進(jìn)行完整性檢查和回歸測試的時候,每一個版本的應(yīng)用程序或系統(tǒng)都要被執(zhí)行一次。(2) 數(shù)據(jù)驅(qū)動測試中,同一項操作要使用到多組數(shù)據(jù)的情形。QTP不適用的場景:(1)易用性測試,即系統(tǒng)在實施過程中是否方便用戶使用。
一次性測試,只需要一次測試,不需要反復(fù)進(jìn)行驗證的測試情景。盡快測試,根據(jù)項目進(jìn)度需求要立即進(jìn)行測試,此時由于QTP要通過腳本編寫才能測試,所以并不適合使用。特設(shè)、隨機(jī)測試,在特定的條件或環(huán)境下進(jìn)行測試,或者進(jìn)行隨機(jī)測試的時候,QTP并不適合使用。建立在應(yīng)用程序的直覺和知識上的測試,即為主觀性測試,要根據(jù)測試人員的經(jīng)驗進(jìn)行主觀判定無法通過QTP來執(zhí)行。沒有預(yù)期結(jié)果的測試。5.2QTP的工作流程準(zhǔn)備測試=>創(chuàng)建測試=>校驗和增強(qiáng)=整合組織自動化測試創(chuàng)建基本的測試手工測試文檔檢查應(yīng)用程序/組織自動化測試創(chuàng)建基本的測試手工測試文檔檢查應(yīng)用程序/環(huán)境的穩(wěn)定性檢查數(shù)據(jù)的合法性錄制用戶動作確認(rèn)回放成功使用對象庫準(zhǔn)備自動化測試 錄制用戶動作產(chǎn)環(huán)境 生基本的測試增強(qiáng)基本的測試組織自動化測試添加同步點插入檢查點調(diào)試測試數(shù)據(jù)驅(qū)動測試申核數(shù)據(jù)建立業(yè)務(wù)流程測試組件增強(qiáng)自動化測試 運行多個測試檢查數(shù)據(jù)流圖5.1QTP工作流程如圖5.1所示為QTP的工作流程圖,在實際使用QTP的過程可以依照上述圖表來執(zhí)行對對象的操作。準(zhǔn)備測試、創(chuàng)建測試、校驗和增強(qiáng)測試腳本、整合測試計劃四個步驟,缺一不可,其中校驗和增強(qiáng)測試腳本這一過程最為關(guān)鍵,它是編寫測試腳本的難點和重點所在,同時也是整個測試計劃的核心。5.3腳本的錄制與回放此次我們使用的應(yīng)用程序是基于C/S架構(gòu)的QTP自帶軟件“飛機(jī)訂票系統(tǒng)”。此系統(tǒng)能夠很直觀的體現(xiàn)出QTP在實踐過程中的諸多特點。下面我們來進(jìn)一步的了解QTP,并利用QTP完成腳本的錄制、回放和修改過程。打開QTP我們可以看到如圖所示的QuickTestProfessional-Add-inMangager頁面。這里管理的是QTP中要使用的相關(guān)插件。插件的選擇是為了能夠讓QTP成功識別對應(yīng)插件的測試對象控件,和被測控件有關(guān),而跟應(yīng)用程序是用何種語言編寫沒有關(guān)系。我們的研究對象“飛機(jī)訂票系統(tǒng)”是基于C/S架構(gòu)的應(yīng)用程序,所以我們選擇的是插件是VisualBasic,如圖5.2所示:QuidiTestProfession對-Add-inManagerQuickTestProfessionalAdd-insAdd-inLicenseQuickTestProfessionalAdd-insAdd-inLicenseActiveXLicensedVisualBasicLicensedLicensedSelectadd-instoload:Add-indesoiption:■ — “ applications圖5.2選擇QTP插件點擊'錄制腳本'項目。下面我們要完成腳本的錄制。點擊“Record”.3所示:need.點擊'錄制腳本'項目。下面我們要完成腳本的錄制。點擊“Record”.3所示:need.eperfomianceandobject要錄制的應(yīng)用程序y,如圖■丨衛(wèi)上QFy一點擊開始錄制嚴(yán)*:QRecordStartPage址1TRecordandRunSettings壯b WindowsApplications壯b WindowsApplications錄制基于C/S架構(gòu)下的應(yīng)用程-pplicadiondetails:4-1X.叩-pplicadiondetails:4-1X.叩plicationWorkingFolderProgram期D:\ProgramRlesXHPX...D:\ProgramFilesXHP...工作目錄應(yīng)用程序執(zhí)行文件所在目錄<IH'I二二〕>確定|取消|應(yīng)用「RecordandruntestonanyopenWindawa-baaedapplicationRecordandrunonlyon:'/^plicationsopenedbyQuickTest點擊添加應(yīng)用程序I-ApplicationsopenedviatheDesktop:birtheWindow點擊添加應(yīng)用程序兩Applicationsspecifiedbelow圖5.3QTP錄制與運行設(shè)置在“AgentName”中輸入任意不少于四個字符的字符串,比如“Mercury”,“Password”為“mercury”。點擊“OK”。并完成相應(yīng)訂票操作,如圖5.4所示:
FlightReservationFlightSchedule:航班日期 出發(fā)地DateofFlight: FlyFrom:|12/12/12目的地FlyTo:|Denver▼| |LondonUpdateOrderDeleteOrderArrivalTime:105:23PM-OrderInformation: 訂單信息FlightNo: DepartureTime:(20262Narne:刪除訂單更新訂單FlightReservationFlightSchedule:航班日期 出發(fā)地DateofFlight: FlyFrom:|12/12/12目的地FlyTo:|Denver▼| |LondonUpdateOrderDeleteOrderArrivalTime:105:23PM-OrderInformation: 訂單信息FlightNo: DepartureTime:(20262Narne:刪除訂單更新訂單UpdateDone...航班選擇RTickets:|$224.40Price:|$44S.S0Total:InsertOrderOrderNo:Flights...Airline:圖5.4飛機(jī)訂票系統(tǒng)頁面點擊QTP工具欄的■‘X:“停止”。即終止了此次的錄制過程。并產(chǎn)生設(shè)置用戶名設(shè)置密碼ExpertView”中如圖5.5中的腳本:設(shè)置用戶名設(shè)置密碼Dialog("Login").WinEdit["AgentName:").Set"Mercury"DialQg("Login").WinButton("OK").CIickWindowf'FlightReservation").ActiveX("MaskEdBox").Type"111112ir在MaskEdBox控件中輸入日10111213WindcwfTlightReservation"].WinCQmboBox("Fly10111213WindcwfTlightReservation"].WinCQmboBox("FlyFrom:"].Select"London"WindcwfTlightReservation"j.WinCQmboBox("FlyTSelect"LosAngeles'1WindQw["FlightReservation"}.WinButton("FLIGHT").CIickWindQw["FlightReservation"].DialQg("FlightsTable").WinButton("OK").CIickWindowfFFlightReservation"].WinEdit("Name:").Set"wang"Window["FlightReservation").WinRadioButton("Business").SetWindcwfTlightReservation"j.WinButton("lnsertOrder").CIickWindcwfTlightReservation"].Close在下拉菜單中選擇城市點擊“Flight”按鈕點擊“OK”按鈕J在“Name”編輯框中輸入客戶名圖5?5初次錄制腳本該專家視圖中用腳本語言記錄下了先前錄制操作中的每一個過程。每一行代碼都代表一次操作的實現(xiàn)。點擊工具欄中的“Run"*"山I可以實現(xiàn)腳本的回放,如圖5.6所示:圖5?6圖5?6QTP回放應(yīng)用程序操作回放后會在下方的“ActiveScreen"里出現(xiàn)之前回放的畫面截圖。并且隨著鼠2:3:斗&6乃S:1C-口iailagf'Login*).WinEdilf'AgesntName/ySiel"Mercury"Dialog("Logini'j.WinEdrtt"P33BWGrd:").SstSecufe"4f8b7c3be210d2S^319b08lDialagf'Login*).WinButtanrOK")ClickWmdovCFIightR&s&rvalion")A.etiveX(,,MaskEdBax').Type"1|11112"WindowTFlightResen/eiian,f)WiinComboBoxf^lyFrom:勺SelectLondon*Window^FlightRtserviaBicm7Y“inCornh<3Eoxf'FlyTa.,r).Selczt:l"LosAngelesWmdowfFlightReservaiion,,).Winetitlo^(,lFLI-GHT').ClickWindowf"FlightRRsarvaGi口nJ口inI口甘「FlightTnble").WinButtonfOK'yClickWindowC^^tR&s&rvaiion,,)^FnEdic(,,Name"J.SeiF呂“yWindow^FlightResen/eiian,f)WisnRadicButtonCBusiness11).SetWindovw^FlightRtserviaBian").V^inBuHonfInsertOrderrp}-ClickWmdowfFlightReservaiion">_CloB&AaiveScreenuxAaiveScreenux標(biāo)在專家視圖中代碼行的定位,也會隨之改變相應(yīng)的截圖。如圖5.7所示:鼠標(biāo)定位到每次回放都會出現(xiàn)結(jié)果報告,以檢查回放的通過與否。如圖“航班日期”
獐畢業(yè)設(shè)計1[Te^pREEiiLtg]-TestResults:FileViewTools旦日IpTewt畢業(yè)設(shè)計1Summary曲Rijtl-TimeDataTat>le住|畢業(yè)設(shè)計111eration1(Row1)ActionlSijiriniary- LogirL|hhc|AgentName:曲Rijtl-TimeDataTat>le住|畢業(yè)設(shè)計111eration1(Row1)ActionlSijiriniary- LogirL|hhc|AgentName:.SetText[WFFazeword:.SetSecm-el二jUK.Click-二FlightReservation總}MazkE>lEidk.Typm無FlyFrorri:.Select畫FlyTo:.SelectGHT.Click畢業(yè)設(shè)計1ResultsSummaryTest畢業(yè)設(shè)計1Resultsname:TempResultsTimeZone:中國標(biāo)準(zhǔn)時間Runstarte止2C1241S-1D:5反30LighTableJUK.Click|:aiTie:.EmtTextRunended;2C12-4-18-10:56:運行一次迭代Iteration#Results「回放成功」錄制中產(chǎn)生的對象DoneStatusTimesStatusTimes圖5.8回放報告IIFailed圖5.8回放報告IIFailed圖5?9關(guān)鍵字視圖5而在“KeywordView”中也會出現(xiàn)相應(yīng)的“Action”以及“Action”下對應(yīng)的對象及其屬性值。如圖5.9: I 勺在進(jìn)行了“錄制”與“回放”操作之后,為了實現(xiàn)對多組數(shù)據(jù)的驗證,我們將輸入的數(shù)據(jù)進(jìn)行參數(shù)化。5.4腳本的加強(qiáng)在完成了腳本的錄制與回放以后,要對已錄制的腳本進(jìn)行一定的修改與加強(qiáng),使得腳本能夠完成我們的預(yù)期任務(wù)。腳本的加強(qiáng)主要對數(shù)據(jù)進(jìn)行參數(shù)化,設(shè)置檢查點,多次迭代,輸出數(shù)據(jù),輸出對象屬性值,多Action操作等。5.4.1QTP腳本中常用的函數(shù)Msgbox:以彈框形式作為提示或輸入結(jié)果的方法,彈框后需點擊“確認(rèn)”QTP才能繼續(xù)運行下去。用法:MsgboxC用戶名為:"&yonghuming)?說明:引號中輸入的值將直接輸出,“&”為字符串連接符,“yonghuming”為參數(shù)。(注:參數(shù)不得為QTP中的關(guān)鍵字)Print:和Msgbox用法相似,不同之處在于Print不會中斷QTP的執(zhí)行操作,并以類似文本編輯框顯示出要輸出的內(nèi)容。用法:print(”用戶名為:"&yonghuming)?說明:引號中輸入的值將直接輸出,“&”為字符串連接符,“yonghuming”為參數(shù)GetROProperty: (GetRuntimeObjectsProperty)即獲取正在運行的對象的屬性值。此時需要定義一個變量用于接收GetROProperty獲取的值。用法:Textl=Dialog("").WinEdit("").GetROProperty("text")說明:引號中的“text”為WinEdit的一個屬性,并講該屬性值賦給Text1。GetltemsCount:獲得條目的數(shù)量用法:Number1=Window("").Dialog("").WinList("").GetItemsCount說明:將GetltemsCount函數(shù)獲取的條目數(shù)量賦給Number1。5.4.2實現(xiàn)對多組用戶名的自動執(zhí)行對于系統(tǒng)登錄界面的用戶名“AgentName”進(jìn)行參數(shù)化,讓其實現(xiàn)從2012年8月中任意選擇一天作為航班日期,并對航班日期進(jìn)行輸出。輸出函數(shù)使用Msgbox()或Print。在KeywordView中找到用戶名對應(yīng)值,點擊右側(cè)參數(shù)化按鈕燼,如圖5.10。在ValueConfigurationOptions表單中選擇第二項Parameter中的DataTable(數(shù)第7頁共15頁據(jù)表)對用戶名進(jìn)行參數(shù)化,點擊“0K”,如圖5.11。Item▼櫓Action1Op...Value點擊對用戶名進(jìn)行參數(shù)化▼詞Login■K血AgentName:Set11-Enter,rMerajiy...裁Item▼櫓Action1Op...Value點擊對用戶名進(jìn)行參數(shù)化▼詞Login■K血AgentName:Set11-Enter,rMerajiy...裁MaskEdBoxTy..."111112"Type"111112"...麗FlyFrom:\Se...\"London"Selectthe"Lan..HFlyTo:Se..."LosAngel...Selectthe"Los...FLIGHTClick□ickthe"FUG...t莖]RightsTable^JOKClick□ickthe"OK"...Text?H\KeywoTdVie■人ExpEft¥iew/liHPassword: Se...Click-二]Fli測Resenrati...uou...Bitertheencry...□ickthe"OK'1...在關(guān)鍵字視圖中進(jìn)行編輯圖5.11參數(shù)化選項圖5.10在關(guān)鍵字視圖中參數(shù)化在KeywordView下方會出現(xiàn)DataTable數(shù)據(jù)表格。輸入以下信息,實現(xiàn)對應(yīng)用程序的多用戶名登錄,如圖5.12。同時對應(yīng)ExpertView中代碼會發(fā)生變化,參數(shù)化也可以僅僅通過編輯代碼來完成,如圖5.13。A2表單名稱AgentN日 *輸入不少于4位字符的用戶名^'angchenvuJayChottMmryEasonA2表單名稱AgentN日 *輸入不少于4位字符的用戶名^'angchenvuJayChottMmryEason*|小Global卜、、Actionl/DataTable Do應(yīng)_:AgentName:|mercunriPassword:OK CancelIHelp圖5.12對用戶名進(jìn)行參數(shù)化1: DialogC'Login'^.WinEditC'AgentName:").SeiDataTable("AgentName",dtGlobalSheet^i圖5?13參數(shù)化后腳本中的代碼DataTable中的每一條數(shù)據(jù)都會被執(zhí)行一次,因此系統(tǒng)共迭代4次,每次迭代結(jié)束之后,下一次迭代的開始從第一行代碼開始重新執(zhí)行,而此時第一行代碼所對應(yīng)的“Login”對話框已不存在。應(yīng)手動添加語句使得應(yīng)用程序再次啟動,而讓代碼能夠執(zhí)行下去。此時可以通過在所要添加代碼行“右擊”-選擇“InsertStep"-"StepGenerator"-第8頁共15頁
選擇“UtilityObjects”下的“SystemUtil”函數(shù)-operation為“Run”。在“Arguments”參數(shù)表中“file”的值“Value”中填入訂票系統(tǒng)的執(zhí)行文件目錄地址,如圖5.14所示。在完成代碼之前添加打開飛機(jī)訂票系統(tǒng)的語句之后應(yīng)在“Automation”下的“RecordandRunSettings”里把“Applicationspecifiedbelow”前的勾去掉,否則在第一次迭代開始的時候會打開兩次訂票系統(tǒng),容易因QTP的不能對對象正確識別而造成錯誤。利用GetROProperty函數(shù)獲取用戶名并用Msgbox函4步和驟P生成函數(shù)輸出。要想獲取用戶名,首先要找到用戶名對應(yīng)的屬性,即在WinEdit("AgentName")個屬性的值。這時我們需要運用對象識別工具中輸入的用戶名的值個屬性的值。這時我們需要運用對象識別工具“ObjectSpy”即工具欄上二-標(biāo)志。點擊進(jìn)入...的偵聽按鈕1LObject.Spy,點擊進(jìn)入...的偵聽按鈕1L示。定位到所偵聽對象WinEdit,點擊即可顯示出該對象的所有屬性及其屬性值,如圖5.16:畐ObjectSpyUsethepointinghandbuttontoselecttheobjectwhosepropertiesormethodsyouwanttoview.Tip:HoldtheOrikeytochangethewindowfocusorperformothermouseoperations.兩KeepObjectSpyontopwhilespying.LoginAgentName:自門匚K:h已門yi」"^[SpyObjects畐ObjectSpyUsethepointinghandbuttontoselecttheobjectwhosepropertiesormethodsyouwanttoview.Tip:HoldtheOrikeytochangethewindowfocusorperformothermouseoperations.兩KeepObjectSpyontopwhilespying.LoginAgentName:自門匚K:h已門yi」"^[SpyObjects定位Password:0KCancelHelp圖5.16利用s對用戶名進(jìn)行多組自動輸入同時通過Msgbox和print兩種方法對用戶名進(jìn)行輸出,用于檢測QTP在快速執(zhí)行過程中是否正確執(zhí)行預(yù)期操作,腳本編寫如圖圖5.16利用s1:2:3:4:5:6:7:8:9:10111213141516171819202122SystemUtil.1:2:3:4:5:6:7:8:9:10111213141516171819202122Msgboxf'W戶名"Syonghuming)print("用"Ayonghuming)Dialog("Login").WinEdit["Password:").SetSecure"4f8e74518d836553b86b5ab01afee06245ee7fbc"Dialog["Login").WinButt0n["OK").ClickWindowf'FlightReservation").WinObject("DateofFlight:").Type"111112"Window("FlightReservation").WinComboBox("FlyFrom:").Select"Denver"Window("FlightReservation").WinComboBox("FlyTSelect"London"Window["FlightReservation").WinButt0n("FLIGHT").ClickWindow("FlightReservation").Dialog("FlightsTable").WinList("From").SelectIF2Q261DEN09:12Window("FlightReservation").Dialog^FlightsTable'T.WinButtonrOK'TLCIickWindow("FlightReservation").WinEdit("Name:").Set"wang"Window("FlightReservation").WinEdit("Tickets:").Set,r2,r'Window("FlightReservation").WinRaclioButton("Business").SetWindow("FlightReservation").WinButtori("lnsertOrder").ClickWindow("FlightReservation").WinButton("Button").ClickWindow("FlightReservation").CloseH1kkl\Ke^'ordView.X.Eipert¥ie?/圖5.17QTP腳本代碼用.戶名為:Jaychou確定F X用戶名為:Mary用戶名為?Eason[””””確走[1……確定…用.戶名為:Jaychou確定F X用戶名為:Mary用戶名為?Eason[””””確走[1……確定…j圖5?18利用Msgbox與print輸出結(jié)果5.4.3實現(xiàn)對城市與航班的隨機(jī)選擇并輸出選擇項信息。對初始腳本進(jìn)行修改,從而實現(xiàn)隨機(jī)選取目的城市和隨機(jī)城市,并且隨機(jī)選取飛機(jī)班次。同時,對所選城市名和飛機(jī)班次信息進(jìn)行輸出。腳本如下:4.Window("FlightReservation").WinObject("DateofFlight:").Type"111112"
4.Window("FlightReservation").WinObject("DateofFlight:").Type"111112"實現(xiàn)對Fly_From和Fly_To下拉列表中的城市進(jìn)行隨機(jī)選擇,并且同過Msgbox函數(shù)輸出城市名。5.Item_numl=Window("FlightReservation").WinComboBox("FlyFrom:").GetItemsCount'把Fly_From里的城市數(shù)量賦給Item_num1Window("FlightReservation").WinComboBox("FlyFrom:").SelectRandomNumber(l,Item_num1)'從Fly_From中隨機(jī)選擇一個城市Fly_From=window("FlightReservation").WinComboBox("FlyFrom:").GetROProperty("text")'把Fly_From里的內(nèi)容賦給Fly_Frommsgbox(Fly_From) '輸出Fly_From中的城市名9.Item_num2=Window("FlightReservation").WinComboBox("FlyTo:").GetItemsCountWindow("FlightReservation").WinComboBox("FlyTo:").SelectRandomNumber(1,Item_num2)Fly_To=window("FlightReservation").WinComboBox("FlyFrom:").GetROProperty("text")msgbox(Fly_To)實現(xiàn)對FlightsTable中的條目數(shù)量進(jìn)行統(tǒng)計并輸出,同時隨機(jī)選擇條目并確認(rèn)。Window("FlightReservation").WinButton("FLIGHT").Click14.Item_num3=Window("FlightReservation")Dialog("FlightsTable").WinList("From").GetltemsCount '把FlightsTable中的條目數(shù)量賦給Item_num3Window("FlightReservation").Dialog("FlightsTable").WinList("From").SelectRandomNumber(1,Item_num3) '在FlightsTable中隨機(jī)選擇一項條目Flight=Window("FlightReservation").Dialog("FlightsTable").WinList("From").GetSelection '把選擇的條目賦給FlightMsgbox(Flight) '輸出選擇的條目信息Window("FlightReservation").Dialog("FlightsTable").WinButton("OK").ClickWindow("FlightReservation").WinEdit("Name:").Set"wang"Window("FlightReservation").WinEdit("Tickets:").SetSelection0,1Window("FlightReservation").WinEdit("Tickets:").Set"2"Window("FlightReservation").WinRadioButton("Business").Set'點擊插入訂單按鈕54'點擊插入訂單按鈕54?益 ^^dow("FligLf^Reservation").WinButton("Button").Click'點擊新建頁面25.W在dQTPli中tR檢查點是一個特殊的步驟,它比較兩個值并顯示比較結(jié)果。5.4.4檢査點的使用在QTP中,檢查點是一個特殊的步驟,它比較兩個值并顯示比較結(jié)果。這兩個值是對象的一個屬性,也就是測試所產(chǎn)生的相應(yīng)的值。QTP將測試運行產(chǎn)生的實際結(jié)果和測試計劃中的期望值進(jìn)行比較,如果兩個值匹配,則檢查點成功。若兩個值不匹配,則檢查點失敗,同時在結(jié)果報告里面會體現(xiàn)出來。檢查點在測試過程起到關(guān)鍵性作用,沒有檢查點,錄制好的測試腳本不能稱為實用的測試腳本。檢查點是自動化測試腳本代替測試工程師手工進(jìn)行測試的主要手段。PerformuserWaitforVerifyAUTfunctionsRepeatstepsuntilallActions執(zhí)processestoasexpected驗證applicationsareverified重行用戶操complete等待過ATU功能是否如-N覆執(zhí)行步驟,直到所有的應(yīng)作程操作完成預(yù)期1用程序都得到驗證1 2 4圖5?19檢査點在檢測結(jié)果過程中的位置檢查點的類型:檢查點主要有標(biāo)準(zhǔn)檢查點(StandardCheckpoint)、文本檢查點(TextCheckpoint))位圖檢查點(BitmapCheckpoint)等。標(biāo)準(zhǔn)檢査點(StandardCheckpoint)將光標(biāo)定位到要添加檢查點的代碼行,則將會根據(jù)此行代碼所對應(yīng)的對象的屬性值添加相應(yīng)檢查點。這里我們主要想完成驗證是否系統(tǒng)在點擊“Fight”按鈕后的頁面中成功選擇了某一條航班信息。如“20261DEN09:12AMLON04:23PMAA$112.20”。點擊工具欄中Insert-Checkpoint-StandardCheckpoint”,或在代碼行右擊選擇,將會彈出下圖5.20所示“CheckpointProperties”界面。圖5.20檢査點屬性若我們對于selection屬性值的期望值是“026109:12AMLON04:23PMAA$112.20'而不是“0261DEN09:12AMLON04:23PMAA$112.20”,相差一個“DEN”,運行此腳本,則檢查點將會在Results報告中報錯,并定位到該錯誤
出現(xiàn)的位置。并生成代碼如圖5.21所示。運行腳本產(chǎn)生結(jié)果報告如圖5.22圖5.20檢査點屬性Windowf'FlightReservation").Dialog("FlightsTable").WinList("From").CheckCheckPoint("From"j圖5.21腳本中的檢査點代碼圖5.22在Result中査看檢査點檢査結(jié)果位圖檢査點(BitmapCheckpoint)對所測應(yīng)用程序中的位圖進(jìn)行校驗,QTP將以截圖的方式來獲取圖片(若該圖片被其他頁面遮蓋全部或部分則不能有效捕獲該圖片),可用于檢測某個頁面是否成功打開,從而驗證某個功能是否正確。檢查點通過驗證實際打開頁面中是否存在預(yù)期中的該圖片而驗證該頁面是否成功打開。這里我們選用訂票頁面中位于右側(cè)的一張圖片,通過對該圖片是否被檢查點檢查捕獲來驗證是否已成功打開飛機(jī)訂票系統(tǒng)的主界面。在QTP頁面下方“ActiveScreen”工具欄中找到對應(yīng)的“Snapshot(快照)”,在訂票系統(tǒng)的右側(cè)圖片處右擊選擇“InsertBitmapCheckpoint”,如圖5.23所示。并生成語句如圖5.24:Window("FlightReservation").Static("Static").CheckCheckPoint("Static")圖5.24位圖檢査點代碼
lightReservation-岡密BitaapCheckpointPropertiesFileEditAnalysisHelp圖5.24位圖檢査點代碼―Name:Static2StaticFlightSchedule:FlyTo:Airline:ArrivalTime:OrderNo:RGBtoSaveonlyselectedarea▼| |L口門cl口門UpdateOrderIDeleteOrderlightReservation-岡密BitaapCheckpointPropertiesFileEdit
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴陽道路施工方案(3篇)
- 細(xì)胞的增殖課件2025-2026學(xué)年高一上學(xué)期生物人教版必修1
- 2026山東事業(yè)單位統(tǒng)考東營市廣饒縣招聘考試備考題庫及答案解析
- 2026廣西南寧市橫州市總工會招聘社會化工會工作者8人備考考試試題及答案解析
- 2026臺州市水利水電勘測設(shè)計院有限公司招聘參考考試題庫及答案解析
- 2026年濟(jì)寧微山縣事業(yè)單位公開招聘初級綜合類崗位人員(45人)備考考試試題及答案解析
- 2026河南許昌煙草機(jī)械有限責(zé)任公司招聘38人考試參考試題及答案解析
- 2026綿陽農(nóng)商銀行寒假實習(xí)生招聘備考考試題庫及答案解析
- 2026年聊城市第二人民醫(yī)院“水城優(yōu)才”青年人才引進(jìn)參考考試題庫及答案解析
- 2026山東大學(xué)齊魯?shù)诙t(yī)院北院區(qū)綜合服務(wù)中心結(jié)算崗位(勞務(wù)派遣)補充招聘參考考試題庫及答案解析
- 污水處理廠設(shè)備預(yù)防性維護(hù)方案
- 浙江省寧波市2024-2025學(xué)年第二學(xué)期期末九校聯(lián)考高二英語試題(含答案)
- 藥品庫房管理培訓(xùn)
- 低壓作業(yè)實操科目三安全隱患圖片題庫
- 面部血管解剖講解
- 物業(yè)工程部維修工禮儀培訓(xùn)
- WJ30059-2024軍工燃燒爆炸品工程設(shè)計安全規(guī)范
- 艾歐史密斯熱水器CEWH-50P5說明書
- T/CMES 37002-2022景區(qū)玻璃類游樂和觀景設(shè)施建造單位能力條件要求
- T/CATCM 029-2024中藥材產(chǎn)地加工(趁鮮切制)生產(chǎn)技術(shù)規(guī)范
- 2025至2030中國氯蟲苯甲酰胺行業(yè)應(yīng)用狀況及未來前景展望報告
評論
0/150
提交評論