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

下載本文檔

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

文檔簡介

QTP自動(dòng)化測試教程學(xué)習(xí)目錄目錄 11 QTP簡介 21.1 自動(dòng)化測試的好處 21.2 QuickTest工作流程 21.3 QTP程序界面 31.4 MercuryTours示范網(wǎng)站 52 錄制/執(zhí)行測試腳本 52.1 錄制前的準(zhǔn)備 62.2 錄制測試腳本 62.2.1 錄制測試腳本 62.2.2 分析錄制的測試腳本 82.3 執(zhí)行測試腳本 102.3.1 執(zhí)行腳本出現(xiàn)錯(cuò)誤 112.4 分析測試結(jié)果 113 建立檢查點(diǎn) 123.1 QuickTest檢查點(diǎn)種類 133.2 創(chuàng)建檢查點(diǎn) 133.2.1 對(duì)象檢查 133.2.2 網(wǎng)頁檢查 163.2.3 文字檢查 173.2.4 表格檢查 183.3 執(zhí)行并分析使用檢查點(diǎn)的測試腳本 204 參數(shù)化 244.1 參數(shù)化步驟和檢查點(diǎn)中的值 244.1.1 參數(shù)化對(duì)象和檢查點(diǎn)的屬性值 244.1.2 參數(shù)化操作的值 254.2 參數(shù)種類 264.2.1 使用數(shù)據(jù)表參數(shù) 274.2.2 使用環(huán)境變量參數(shù) 284.2.3 使用隨機(jī)數(shù)字參數(shù) 284.3 參數(shù)化測試腳本 294.3.1 定義參數(shù) 294.3.2 修正受到參數(shù)化影響的步驟 304.3.3 執(zhí)行并分析使用參數(shù)的測試腳本 315 輸出值 325.1 創(chuàng)建輸出值 335.1.1 輸出值類型 335.1.2 存儲(chǔ)輸出值 345.2 輸出屬性值 355.2.1 定義標(biāo)準(zhǔn)輸出值 355.2.2 指定輸出類型和和設(shè)置 365.3 在腳本中建立輸出值 375.3.1 建立輸出值 375.3.2 執(zhí)行并分析使用輸出值的測試腳本 40 QTP 簡介自動(dòng)化測試的好處如果你執(zhí)行過人工測試,你一定了解人工測試的缺點(diǎn),人工測試非常浪費(fèi)時(shí)間而且需要投入大量的人力。使用人工測試的結(jié)果,往往是在應(yīng)用程序交付前,無法對(duì)應(yīng)用程序的所有功能都作完整的測試。使用QuickTest可以加速整個(gè)測試的過程,并且建置完新版本的應(yīng)用程序或網(wǎng)站后,可以重復(fù)使用測試腳本進(jìn)行測試。以QuickTest執(zhí)行測試,就與人工測試一樣。QuickTest會(huì)仿真鼠標(biāo)的動(dòng)作與鍵盤的輸入,不過QuickTest比人工測試快了很多。自動(dòng)化測試的好處快速Q(mào)uickTest執(zhí)行測試比人工測試速度快多了。可靠QuickTest每一次的測試都可以正確的執(zhí)行相同的動(dòng)作,可以避免人工測試的錯(cuò)誤??芍貜?fù)QuickTest可以重復(fù)執(zhí)行相同的測試。可程序化QuickTest可以以程序的方式,撰寫復(fù)雜的測試腳本,以帶出隱藏在應(yīng)用程序中的信息。廣泛性QuickTest可以建立廣泛的測試腳本,涵蓋應(yīng)用程序的所有功能。可再使用QuickTest可以重復(fù)使用測試腳本,即使應(yīng)用程序的使用接口已經(jīng)改變。 QuickTest工作流程1.錄制測試腳本前的準(zhǔn)備在測試前需要確認(rèn)你的應(yīng)用程序及QuickTest是否符合測試需求?確認(rèn)你已經(jīng)知道如何對(duì)應(yīng)用程序進(jìn)行測試,如要測試哪些功能、操作步驟、預(yù)期結(jié)果等。同時(shí)也要檢查一下QuickTest的設(shè)定,如TestSettings以及Options對(duì)話窗口,以確保QuickTest會(huì)正確的錄制并儲(chǔ)存信息。確認(rèn)QuickTest以何種模式儲(chǔ)存信息。2.錄制測試腳本操作應(yīng)用程序或?yàn)g覽網(wǎng)站時(shí),QuickTest會(huì)在KeywordView中以表格的方式顯示錄制的操作步驟。每一個(gè)操作步驟都是使用者在錄制時(shí)的操作,如在網(wǎng)站上點(diǎn)擊了鏈接,或則在文本框中輸入的信息。3.加強(qiáng)測試腳本在測試腳本中加入檢查點(diǎn),可以檢查網(wǎng)頁的鏈接、對(duì)象屬性、或者字符串,以驗(yàn)證應(yīng)用程序的功能是否正確。將錄制的固定值以參數(shù)取代,使用多組的數(shù)據(jù)測試程序。使用邏輯或者條件判斷式,可以進(jìn)行更復(fù)雜的測試。4.對(duì)測試腳本進(jìn)行調(diào)試修改過測試腳本后,需要對(duì)測試腳本作調(diào)試,以確保測試腳本能正常并且流暢的執(zhí)行。5.在新版應(yīng)用程序或者網(wǎng)站上執(zhí)行測試腳本通過執(zhí)行測試腳本,QuickTest會(huì)在新本的網(wǎng)站或者應(yīng)用程序上執(zhí)行測試,檢查應(yīng)用程序的功能是否正確。6.分析測試結(jié)果分析測試結(jié)果,找出問題所在。7.測試報(bào)告如果你安裝了TestDirector(QualityCenter),則你可以將發(fā)現(xiàn)的問題回報(bào)到TestDirector(QualityCenter)數(shù)據(jù)庫中。TestDirector(QualityCenter)是Mercury測試管理工具。 QTP程序界面在學(xué)習(xí)創(chuàng)建測試之前,先了解一下QuickTest的主界面。下圖是錄制了一個(gè)操作后QuickTest的界面。在QTP界面包含標(biāo)題欄、菜單欄、文件工具條等幾個(gè)界面元素,下面簡單解釋各界面元素的功能:標(biāo)題欄,顯示了當(dāng)前打開的測試腳本的名稱。菜單欄,包含了QuickTest的所有菜單命令項(xiàng)。文件工具條,在工具條上包含了以下幾個(gè)按鈕:測試工具條,包含了在創(chuàng)建、管理測試腳本是要使用的按鈕,如下圖:調(diào)試工具條,包含在調(diào)試測試腳本時(shí)要使用的工具條,如下圖:測試腳本管理窗口,提供了兩個(gè)可切換的窗口,分別通過圖形化方式和VBScript腳本方式來管理測試腳本。DataTable窗口,用于參數(shù)化你的測試。狀態(tài)欄,顯示測試過程中的狀態(tài)。在上面上面簡要介紹了QuickTest的主窗口,你可能對(duì)一些窗口元素到底是干什么的感到很困惑,在我們下面介紹QuickTest具體的功能時(shí),會(huì)真正了解它們的作用。但在現(xiàn)在,應(yīng)該盡可能的去熟悉這些界面元素,記住它們大概的功能,最好是花一些時(shí)間通過實(shí)際的操作來探索一下它們的功能,這對(duì)你能夠順利學(xué)習(xí)下面的內(nèi)容是有幫助的。 MercuryTours示范網(wǎng)站MercuryTours示范網(wǎng)站是一個(gè)提供機(jī)票預(yù)訂服務(wù)的網(wǎng)站,在本課程中,我們使用MI公司提供的MercuryTours示范網(wǎng)站作為演示QuickTest各個(gè)功能的例子程序。1.在開始使用MercuryTours示范網(wǎng)站()之前,首先要在MercuryTours網(wǎng)站上注冊(cè)一個(gè)使用者賬號(hào)。2.MercuryTours示范網(wǎng)站使用要登錄并使用MercuryTours示范網(wǎng)站必須使用注冊(cè)賬號(hào)。在使用網(wǎng)站時(shí),從[FlightFinder]網(wǎng)頁開始,按照畫面上的指示預(yù)訂機(jī)票。在BookaFlight網(wǎng)頁,無需填寫真實(shí)的旅客信息,信用卡卡號(hào)等標(biāo)示為紅色的字段中添加虛擬數(shù)據(jù)就可以了。3.結(jié)束訂票動(dòng)作完成訂票動(dòng)作后,在[FlightConfirmation]網(wǎng)頁上點(diǎn)選[LOGOUT]按鈕或是選擇[SIGN-OFF]按鈕。4.關(guān)閉瀏覽器 現(xiàn)在知道如何使用MercuryTours示范網(wǎng)站,就可以開始使用QuickTest錄制測試腳本了。 錄制/執(zhí)行測試腳本當(dāng)瀏覽網(wǎng)站或使用應(yīng)用程序時(shí),QuickTest會(huì)紀(jì)錄你的操作步驟,并產(chǎn)生測試腳本。當(dāng)停止錄制后,會(huì)看到QuickTest在KeywordView中以表格的方式顯示測試腳本的操作步驟。錄制前的準(zhǔn)備 在錄制腳本前,首先要確認(rèn)以下幾項(xiàng):已經(jīng)在MercuryTours示范網(wǎng)站上注冊(cè)了一個(gè)新的使用者賬號(hào)。在正式開始錄制一個(gè)測試之前,關(guān)閉所有已經(jīng)打開的IE窗口。這是為了能夠正常的進(jìn)行錄制,這一點(diǎn)要特別注意。關(guān)閉所有與測試不相關(guān)的程序窗口。 錄制測試腳本錄制測試腳本 在這一節(jié)中我們使用QuickTest錄制一個(gè)測試腳本,在MercuryTours范例網(wǎng)站上預(yù)定一張從紐約(NewYork)到舊金山(SanFrancisco)的機(jī)票。 1.執(zhí)行QuickTest并開啟一個(gè)全新的測試腳本開啟QuickTest,在“Add-inManager”窗口中選擇“Web”選項(xiàng),點(diǎn)擊“OK”關(guān)閉“Add-inManager”窗口,進(jìn)入QuickTestProfessional主窗口。如果QuickTestProfessional已經(jīng)啟動(dòng),檢查“Help>AboutQuickTestProfessional”查看目前加載了那些add-ins。如果沒有加載“Web”,那么必須關(guān)閉并重新啟動(dòng)QuickTestProfessional,然后在“Add-inManager”窗口中選擇“Web”。如果在執(zhí)行QuickTestProfessional時(shí)沒有開啟“Add-inManager”則點(diǎn)擊“Tool>Options”,在“General”標(biāo)簽頁勾選“DisplayAdd-inManageronStartup”,在下次執(zhí)行QuickTestProfessional時(shí)就會(huì)看到“Add-inManager”窗口了2.開始錄制測試腳本選中“Test>Record”或者點(diǎn)選工具欄上的“Record”按鈕。打開“RecordandRunSettings”對(duì)話窗口:在“Web”標(biāo)簽頁選擇“Openthefollowingbrowserwhenarecordorrunsessionbegins”在“Type”下拉列表中選擇“MicrosoftInternetExplorer”為瀏覽器的類型;在“Address”中添加“/(網(wǎng)站地址)”這樣,在錄制的時(shí)候,QuickTest會(huì)自動(dòng)打開IE瀏覽器并連接到MercuryTours范例網(wǎng)站上?,F(xiàn)在我們?cè)谇袚Q到“WindowsApplication”標(biāo)簽頁,如下圖所示:如果選擇“RecordandruntestonanyopenWindows-basedapplication”單選按鈕,則在錄制過程中,QuickTest會(huì)記錄你對(duì)所有的Windows程序所做的操作。如果選擇“Recordandrunontheseapplication(openedwhenasessionbegins)”單選按鈕,則在錄制過程中,QuickTest只會(huì)記錄對(duì)那些添加到下面“Applicationdetails”列表框中的應(yīng)用程序的操作(你可以通過“Add”、“Edit”、“Delete”按鈕來編輯這個(gè)列表)。我們選擇第二個(gè)單選按鈕。因?yàn)槲覀冎皇菍?duì)MercuryTours范例網(wǎng)站進(jìn)行操作,不涉及到Windows程序,所以保持列表為空。點(diǎn)擊“確定”按鈕,開始錄制了,將自動(dòng)打開IE瀏覽器并連接到MercuryTours范例網(wǎng)站上。3.登錄MercuryTours網(wǎng)站 在用戶名和密碼輸入注冊(cè)時(shí)使用的賬號(hào)和密碼,點(diǎn)擊“Sign-in”,進(jìn)入“FlightFinder”網(wǎng)頁。4.輸入訂票數(shù)據(jù)輸入以下訂票數(shù)據(jù):DepartingFrom:NewYorkOn:May14ArrivingIn:SanFranciscoReturning:May28 ServiceClass:Businessclass 其他字段保留默認(rèn)值,點(diǎn)擊“CONTINUE”按鈕打開“SelectFlight”頁面。5.選擇飛機(jī)航班 可以保存默認(rèn)值,點(diǎn)擊“CONTINUE”按鈕打開“BookaFlight”頁面。6.輸入必填字段(紅色字段) 輸入用戶名和信用卡號(hào)碼(信用卡可以輸入虛構(gòu)的號(hào)碼,如8888-8888)。點(diǎn)擊網(wǎng)頁下方的“SECUREPURCHASE”按鈕,打開“FlightConfirmation”網(wǎng)頁。7.完成定制流程 查看訂票數(shù)據(jù),并選擇“BACKTOHOME”回到MercuryTours網(wǎng)站首頁。8.停止錄制 在QuickTest工具列上點(diǎn)擊“Stop”按鈕,停止錄制。到這里已經(jīng)完成了預(yù)定從“紐約-舊金山”機(jī)票的動(dòng)作,并且QuickTest已經(jīng)錄制了從按下“Record”按鈕后到“Stop”按鈕之間的所有操作。9.保存腳本選擇“File>Save”或者電機(jī)工具欄上的“Save”按鈕,開啟“Save”對(duì)話窗口。選擇的路徑,填寫文件名,我們?nèi)∶麨镕light。點(diǎn)擊“保存”按鈕進(jìn)行保存。 通過以上九個(gè)步驟,我們錄制了一個(gè)完整的測試腳本—預(yù)定從紐約到舊金山的機(jī)票。分析錄制的測試腳本在錄制過程中,QuickTest會(huì)在測試腳本管理窗口(也叫TreeView窗口)中產(chǎn)生對(duì)每一個(gè)操作的相應(yīng)記錄。并在KeywordView中以類似Excel工作表的方式顯示所錄制的測試腳本。當(dāng)錄制結(jié)束后,QuickTest也就記錄下了測試過程中的所有操作。測試腳本管理窗口顯示的內(nèi)容如下圖所示:在KeywordView中的每一個(gè)字段都有其意義:Item:以階層式的圖標(biāo)表示這個(gè)操作步驟所作用的組件(測試對(duì)象、工具對(duì)象、函數(shù)呼叫或腳本)。Operation:要在這個(gè)作用到的組件上執(zhí)行的動(dòng)作,如點(diǎn)擊、選擇等。Value:執(zhí)行動(dòng)作的參數(shù),例如當(dāng)鼠標(biāo)點(diǎn)擊一張圖片時(shí)是用左鍵還是右鍵。Assignment:使用到的變量。Comment:你在測試腳本中加入的批注。Documentation:自動(dòng)產(chǎn)生用來描述此操作步驟的英文說明。腳本中的每一個(gè)步驟在KeywordView中都會(huì)以一列來顯示,其中用來表示此組件類別的圖標(biāo)以及步驟的詳細(xì)數(shù)據(jù)。下面我們針對(duì)一些常見的操作步驟作詳細(xì)說明:步驟說明Action1是一個(gè)動(dòng)作的名稱Welcome:Mercury是被瀏覽器開啟的網(wǎng)站的名稱Welcome:MercuryTours是網(wǎng)頁的名稱userName是editbox的名稱Set是在這個(gè)editbox上執(zhí)行的動(dòng)作jojo是被輸入得值password是editbox的名稱SetSecure是在這個(gè)editbox上執(zhí)行的動(dòng)作,此動(dòng)作有加密的功能446845bf84444adc…是被加密過的密碼Sign-In是圖像對(duì)象的名稱Chick是在這個(gè)圖像上執(zhí)行的動(dòng)作41,4則是這個(gè)圖像被點(diǎn)擊的X,Y坐標(biāo) 執(zhí)行測試腳本當(dāng)運(yùn)行錄制好的測試腳本時(shí),QuickTest會(huì)打開被測試程序,執(zhí)行你在測試中錄制的每一個(gè)操作。測試運(yùn)行結(jié)束后,QuickTest顯示本次運(yùn)行的結(jié)果。接下來,我們執(zhí)行在上一節(jié)中錄制的Flight測試腳本。1.打開錄制的Flight測試腳本。2.設(shè)置運(yùn)行選項(xiàng)。點(diǎn)擊“Tool>Options”打開設(shè)置選項(xiàng)對(duì)話框,選擇“Run”標(biāo)簽頁,如下圖:如果要將所有畫面儲(chǔ)存在測試結(jié)果中,在“Savestepscreencapturetoresults”選項(xiàng)中選擇“Always”選項(xiàng)。一般情況下我們選擇“Onerror”或“Onerrorandwarning”表示在回放測試過程中出現(xiàn)問題時(shí),才保存圖象信息。在這里我們?yōu)榱烁嗟恼故綫uickTest的功能,所以選擇使用“Always”選項(xiàng)。3.在工具條上點(diǎn)擊“Run”按鈕,打開“Run”對(duì)話框:詢問要將本次的測試運(yùn)行結(jié)果保存到何處。選擇“NewRunresultsfolder”單選按鈕,設(shè)定好存放路徑(在這使用預(yù)設(shè)的測試結(jié)果名稱)。4.點(diǎn)擊“OK”按鈕開始執(zhí)行測試??梢钥吹絈uickTest按照你在腳本中錄制的操作,一步一步的運(yùn)行測試,操作過程與你手工操作時(shí)完全一樣。同時(shí)可以在QuickTest的KeywordView中會(huì)出現(xiàn)一個(gè)黃色的箭頭,指示目前正在執(zhí)行的測試步驟。執(zhí)行腳本出現(xiàn)錯(cuò)誤 如果在執(zhí)行測試的時(shí)候出現(xiàn)錯(cuò)誤,會(huì)顯示一個(gè)錯(cuò)誤信息對(duì)話框?分析測試結(jié)果在測試執(zhí)行完成后,QuickTest會(huì)自動(dòng)顯示測試結(jié)果窗口,如下圖所示: 在這個(gè)測試結(jié)果窗口中分二個(gè)部分顯示測試執(zhí)行的結(jié)果左邊顯示Testresultstree,以階層圖標(biāo)的方式顯示測試腳本所執(zhí)行的步驟??梢赃x擇“+”檢查每一個(gè)步驟,所有的執(zhí)行步驟都會(huì)以圖示的方式顯示??梢栽O(shè)定QuickTest以不同的資料執(zhí)行每個(gè)測試或某個(gè)動(dòng)作,每執(zhí)行一次反復(fù)稱為一個(gè)迭代,每一次迭代都會(huì)被編號(hào)(在上面的例子中只執(zhí)行了一次迭代)。右邊則是顯示測試結(jié)果的詳細(xì)信息。在第一個(gè)表格中顯示哪些迭代是已經(jīng)通過的,哪些是失敗的。第二個(gè)表格是顯示測試腳本的檢查點(diǎn),哪些是通過的,哪些是失敗的,以及有幾個(gè)警告信息。在上面的測試中,所有的測試都是通過的,在腳本中也沒有添加檢查點(diǎn)(有關(guān)檢查點(diǎn)的內(nèi)容我們將在以后的課程中學(xué)習(xí))。接下來我們查看QuickTest執(zhí)行測試腳本的詳細(xì)結(jié)果,以及選擇某個(gè)測試步驟時(shí)出現(xiàn)的詳細(xì)信息。 在樹視圖中展開“FlightIteration1(Row1)>Action1Summary>WelcomeMercuryTours>FindaFlight:Mercury>”,選擇“"fromPost":Select"NewYork"”。 在這個(gè)測試結(jié)果窗口中顯示三個(gè)部分,分別是:左邊是Testresultstree:展開樹視圖后,顯示了測試執(zhí)行過程中的每一個(gè)操作步驟。選擇某一個(gè)測試步驟,會(huì)在右邊區(qū)域顯示相應(yīng)的信息。右上方是Testresultsdetail:對(duì)應(yīng)當(dāng)前選中的測試步驟,顯示被選取測試步驟執(zhí)行時(shí)的詳細(xì)信息。右下方是ActiveScreen:對(duì)應(yīng)當(dāng)前選中的測試步驟,顯示該操作執(zhí)行時(shí)應(yīng)用程序的屏幕截圖。當(dāng)選中testresultstree上的網(wǎng)頁圖示,會(huì)在“ActiveScreen”中看到執(zhí)行時(shí)的畫面。當(dāng)選中testresultstree上的測試步驟(在某個(gè)對(duì)象上執(zhí)行某個(gè)動(dòng)作),除了顯示當(dāng)前時(shí)的畫面外,對(duì)象還會(huì)被粉色的框框框住。在上面的例子中,在“ActiveScreen”中點(diǎn)擊被框住的“DepartingFrom”下拉菜單,會(huì)顯示其他的選項(xiàng)。 建立檢查點(diǎn)通過上一章的學(xué)習(xí),我們已經(jīng)掌握了如何錄制、執(zhí)行測試腳本以及查看測試結(jié)果。但是我們只是實(shí)現(xiàn)了測試執(zhí)行的自動(dòng)化,沒有實(shí)現(xiàn)測試驗(yàn)證的自動(dòng)化,所以這并不是真正的自動(dòng)化測試。在這一章我們學(xué)習(xí)如何在測試腳本中設(shè)置檢查點(diǎn),以驗(yàn)證執(zhí)行結(jié)果的真確性?!皺z查點(diǎn)”是將指定屬性的當(dāng)前值與該屬性的期望值進(jìn)行比較的驗(yàn)證點(diǎn)。這能夠確定網(wǎng)站或應(yīng)用程序是否正常運(yùn)行。當(dāng)添加檢查點(diǎn)時(shí),QuickTest會(huì)將檢查點(diǎn)添加到關(guān)鍵字視圖中的當(dāng)前行并在專家視圖中添加一條“檢查檢查點(diǎn)”語句。運(yùn)行測試或組件時(shí),QuickTest會(huì)將檢查點(diǎn)的期望結(jié)果與當(dāng)前結(jié)果進(jìn)行比較。如果結(jié)果不匹配,檢查點(diǎn)就會(huì)失敗??梢栽凇皽y試結(jié)果”窗口中查看檢查點(diǎn)的結(jié)果。 QuickTest檢查點(diǎn)種類首先我們了解一下QuickTest支持的檢查點(diǎn)種類,如下表所示,QuickTest支持以下檢查點(diǎn):檢查點(diǎn)類型說明范例標(biāo)準(zhǔn)檢查點(diǎn)檢查對(duì)象的屬性檢查某個(gè)按鈕是否被選取圖片檢查點(diǎn)檢查圖片的屬性檢查圖片的來源文件是否是正確的表格檢查點(diǎn)檢查表格的內(nèi)容檢查表格內(nèi)的內(nèi)容是否是正確對(duì)的網(wǎng)頁檢查點(diǎn)檢查網(wǎng)頁的屬性檢查網(wǎng)頁加載的時(shí)間或是網(wǎng)頁是否含有不正確的鏈接文字/文字區(qū)域檢查點(diǎn)檢查網(wǎng)頁上或是窗口上出現(xiàn)的文字是否正確檢查登陸系統(tǒng)后時(shí)候出行登陸成功的文字圖像檢查點(diǎn)提取網(wǎng)頁和窗口的畫面檢查畫面是否正確檢查網(wǎng)頁或者網(wǎng)頁的一部分是否如期顯示數(shù)據(jù)庫檢查點(diǎn)檢查數(shù)據(jù)庫的內(nèi)容時(shí)候正確檢查數(shù)據(jù)庫查詢的值是否正確XML檢查點(diǎn)檢查XML文件的內(nèi)容XML檢測點(diǎn)有兩種—XML文件檢測點(diǎn)和XML應(yīng)用檢測點(diǎn)。XML文件檢測點(diǎn)用于檢查一個(gè)XML文件;XML應(yīng)用檢測點(diǎn)用于檢查一個(gè)Web頁面的XML文檔。你可以在錄制測試的過程中,或錄制結(jié)束后,向測試腳本中添加檢測點(diǎn)。下面我們學(xué)習(xí)如何在測試腳本上建立檢查點(diǎn)。 創(chuàng)建檢查點(diǎn) 打開Flight測試腳本,將腳本另存為“Checkpoint”測試腳本。我們?cè)贑heckpoint測試腳本中創(chuàng)建4個(gè)檢查點(diǎn),分別是:對(duì)象檢查、網(wǎng)頁檢查、文字檢查以及表格檢查。對(duì)象檢查 通過向測試或組件中添加標(biāo)準(zhǔn)檢查點(diǎn),可以對(duì)不同版本的應(yīng)用程序或網(wǎng)站中的對(duì)象屬性值進(jìn)行比較??梢允褂脴?biāo)準(zhǔn)檢查點(diǎn)來檢查網(wǎng)站或應(yīng)用程序中的對(duì)象屬性值。標(biāo)準(zhǔn)檢查點(diǎn)將對(duì)錄制期間捕獲的對(duì)象屬性的預(yù)期值,與運(yùn)行會(huì)話期間對(duì)象的當(dāng)前值進(jìn)行比較。首先在Checkpoint測試腳本上添加一個(gè)標(biāo)準(zhǔn)檢查點(diǎn),這個(gè)檢查點(diǎn)用以檢查旅客的姓氏。 創(chuàng)建標(biāo)準(zhǔn)檢查點(diǎn): 1.打開Checkpoint測試腳本。 2.選擇要建立檢查點(diǎn)的網(wǎng)頁 在QuickTest的視圖樹中展開“Action1>Welcome:MercuryTours>BookaFlight:Mercury”,由于輸入使用者姓氏的測試步驟是“passFirst0”這個(gè)步驟,所以要選擇這個(gè)步驟的下一個(gè)測試步驟,以便建立檢查點(diǎn)。如下圖所示: 3.建立標(biāo)準(zhǔn)檢查點(diǎn) 對(duì)“ActiveScreen”中的FirstName編輯框點(diǎn)擊鼠標(biāo)右鍵,顯示插入選擇點(diǎn)的類型。選擇“InsertStandardCheckpoint”選型,顯示“ObjectSelection-CheckpointProperties”對(duì)話窗口:確保當(dāng)前的焦點(diǎn)定位在“WebEdit:passFirst0”上,點(diǎn)擊“OK”按鈕,彈出如下的窗口:在檢查點(diǎn)屬性窗口會(huì)顯示將查點(diǎn)的屬性:Name:將查點(diǎn)的名稱Class:檢查點(diǎn)的類別,WebEdit表示這個(gè)檢查點(diǎn)是個(gè)輸入框“Type”字段中的“ABC”圖標(biāo):表示這個(gè)屬性的值是一個(gè)常數(shù)對(duì)于每一個(gè)檢查點(diǎn),QuickTest會(huì)使用預(yù)設(shè)的屬性最為檢查點(diǎn)的屬性,下表說明這些預(yù)設(shè)的屬性。屬性值說明htmltagINPUTHTML原始碼中的INPUT標(biāo)簽innertext在這個(gè)范例中,innertext只是空的,檢查點(diǎn)會(huì)檢查當(dāng)執(zhí)行時(shí)這個(gè)屬性是不是空的namepassFirst0passFirst0是這個(gè)編輯框的名稱typetexttext是HTML原始碼中INPUT對(duì)象的類型value姓氏(錄制腳本是輸入的姓氏)在編輯框中輸入的文字我們接受預(yù)設(shè)的設(shè)定值,點(diǎn)擊“OK”。QuickTest會(huì)在選取的步驟之前建立一個(gè)標(biāo)準(zhǔn)檢查點(diǎn)。 4.在工具欄上點(diǎn)擊“Save”保存腳本。通過1-4的步驟,添加一個(gè)標(biāo)準(zhǔn)檢查點(diǎn)的操作就此結(jié)束。網(wǎng)頁檢查 我們?cè)贑heckpoint測試腳本中再添加一個(gè)網(wǎng)頁檢查點(diǎn),網(wǎng)頁檢查點(diǎn)會(huì)檢查網(wǎng)頁的鏈接以及圖像的數(shù)量時(shí)候與當(dāng)前錄制時(shí)的數(shù)量一致。網(wǎng)頁檢查點(diǎn)只能應(yīng)用于Web頁面中。創(chuàng)建網(wǎng)頁檢查: 1.選擇要建立檢查點(diǎn)的網(wǎng)頁展開“Action1>Welcome:MercuryTours”選擇“BookaFlight:Mercury”頁面,在“ActiveScreen”會(huì)顯示相應(yīng)的頁面。 2.建立網(wǎng)頁檢查點(diǎn)在“ActiveScreen”上的任意地方點(diǎn)擊鼠標(biāo)右鍵,選取“InsertStandardCheckpoint”,開啟“ObjectSelection-CheckpointProperties”對(duì)話窗口(由于選擇的位置不同,對(duì)話窗口顯示被選取的對(duì)象可能不一樣)。 選擇最上面的“Page:BookaFlight:Mercury”,并點(diǎn)擊“OK”按鈕確認(rèn),將打開“PageCheckpointProperties”對(duì)話框。 當(dāng)執(zhí)行測試時(shí),QuickTest會(huì)檢查網(wǎng)頁的鏈接與圖片的數(shù)量,以及加載的時(shí)間,如同對(duì)話窗口上方所顯示的那樣。 QuickTest頁檢查每一個(gè)鏈接的URL以及每一個(gè)圖片的原始文件是否存在。 接受默認(rèn)設(shè)定,點(diǎn)擊“OK”。QuickTest會(huì)在BookaFlight:Mercury網(wǎng)頁上加一個(gè)網(wǎng)頁檢查。 4.在工具欄上點(diǎn)擊“Save”保存腳本。文字檢查 在這一節(jié)中我們學(xué)習(xí)建立一個(gè)文字檢查點(diǎn),檢查在“FlightConfirmation”網(wǎng)頁中是否出現(xiàn)“NewYork”? 建立文字檢查點(diǎn): 1.確定要建立檢查點(diǎn)的網(wǎng)頁展開“Action1>Welcome:MercuryTours”選擇“FlightConfirmation:Mercury”頁面,在“ActiveScreen”會(huì)顯示相應(yīng)的頁面。 2.建立文字檢查點(diǎn)在“ActiveScreen”中選擇在“Departing”下方的“NewYork”。對(duì)選取的文字按下鼠標(biāo)右鍵,并選取“InsertTextCheckpoint”打開“TextCheckpointProperties”對(duì)話窗口。當(dāng)“CheckedText”出現(xiàn)在下拉式清單中時(shí),在“Constant”字段顯示的就是選取的文字。這也就是QuickTest在執(zhí)行測試腳本時(shí)所要檢查的文字。 3.點(diǎn)擊“OK”關(guān)閉窗口。 QuickTest會(huì)在測試腳本上加上一個(gè)文字檢查點(diǎn),這個(gè)文字檢查點(diǎn)會(huì)出現(xiàn)在“FlightConfirmation:Mercury”網(wǎng)頁下方。 4.在工具欄上點(diǎn)擊“Save”保存腳本。表格檢查 通過添加表檢查點(diǎn),可以檢查應(yīng)用程序中顯示的表的內(nèi)容。通過向測試或組件中添加表檢查點(diǎn),可以檢查表的單元格中是否顯示了指定的值。對(duì)于ActiveX表,還可以檢查表對(duì)象的屬性。要添加表檢查點(diǎn),可使用“檢查點(diǎn)屬性”對(duì)話框。在上面我們已經(jīng)添加了標(biāo)準(zhǔn)、網(wǎng)頁、文字將查點(diǎn),接下來我們?cè)贑heckpoint測試腳本中再添加一個(gè)表格檢查點(diǎn),檢查“BookaFlight:Mercury”網(wǎng)頁上航班的價(jià)格。 創(chuàng)建表格檢查點(diǎn): 1.選取要建立檢查點(diǎn)的網(wǎng)頁展開“Action1>Welcome:MercuryTours”選擇“BookaFlight:Mercury”頁面,在“ActiveScreen”會(huì)顯示相應(yīng)的頁面。 2.建立表格檢查點(diǎn)在“ActiveScreen”中,在第一個(gè)航班的價(jià)錢上“270”上點(diǎn)擊鼠標(biāo)右鍵,選擇“InsertStandardCheckpoint”打開“ObjectSelection-CheckpointProperties”對(duì)話窗口。剛打開時(shí)選取的是“WebElement:270”,這時(shí)要選擇上一層的WebTable對(duì)象,在這個(gè)例子中選擇“WebTable:NewYorktoSanFrancisco”。點(diǎn)擊“OK”打開“TableCheckpointProperties”對(duì)話窗口,顯示整個(gè)表格的內(nèi)容。 預(yù)設(shè)每一個(gè)字段都會(huì)被選擇,表示所有字段都會(huì)檢查,可以對(duì)某個(gè)字段雙擊,取消檢查字段,或者選擇整個(gè)欄和列,執(zhí)行選取或取消的動(dòng)作。 在每個(gè)字段的列標(biāo)題上雙擊,取消勾選的圖標(biāo),然后再270字段處雙擊,這樣執(zhí)行時(shí)QuickTest只會(huì)對(duì)這個(gè)字段值作檢查。 3.點(diǎn)擊“OK”關(guān)閉對(duì)話框。 QuickTest會(huì)在測試腳本中,“BookaFlight:Mercury”頁面下加上一個(gè)表格檢查點(diǎn)。 4.在工具欄上點(diǎn)擊“Save”保存腳本。 執(zhí)行并分析使用檢查點(diǎn)的測試腳本 在上一節(jié)中,我們?cè)谀_本中添加了4個(gè)檢查點(diǎn),現(xiàn)在,運(yùn)行Checkpoint測試腳本,分析插入檢查點(diǎn)后,腳本的運(yùn)行情況。 1.在工具欄上點(diǎn)擊“Run”按鈕,彈出如下窗口:這個(gè)頁面是詢問將本次測試結(jié)果保存在哪個(gè)目錄,選擇“Newrunresultsfolder”單選按鈕,接受默認(rèn)設(shè)置,點(diǎn)擊“OK”按鈕確認(rèn)。這時(shí)QuickTest會(huì)按照腳本中的操作,一步一步進(jìn)行測試,操作過程和手工操作是完全一樣。2.當(dāng)QuickTest執(zhí)行王測試腳本后,測試執(zhí)行結(jié)果窗口會(huì)自動(dòng)開啟。如果所有的檢查點(diǎn)都通過了驗(yàn)證,運(yùn)行結(jié)果為Passed。如果有一個(gè)或多個(gè)檢查點(diǎn)沒有同過驗(yàn)證,這運(yùn)行結(jié)果顯示為Failed,如下圖所示:在上圖中可以看到,設(shè)置的4個(gè)檢查點(diǎn)都通過了驗(yàn)證,下面我們看一下各個(gè)檢查點(diǎn)的驗(yàn)證結(jié)果。驗(yàn)證網(wǎng)頁檢查點(diǎn)在testresultstree中展開“CheckpointIteration1(Row1)>Action1Summary>Welcome:MercuryTours>BookaFlight:Mercury”,并選擇“Checkpoint"BookaFlight:Mercury"”。在右邊的“Details”窗口中,可以看到網(wǎng)頁檢查點(diǎn)的詳細(xì)信息,例如網(wǎng)頁檢查點(diǎn)檢查了哪些項(xiàng)目。由于所有網(wǎng)頁檢查的項(xiàng)目,其實(shí)際值與預(yù)期值相符,所以這個(gè)網(wǎng)頁檢查點(diǎn)的結(jié)果為Passed。驗(yàn)證表格檢查點(diǎn)在testresultstree中展開“BookaFlight:Mercury>NewYorktoSanFrancisco”,并選擇“Checkpoint"NewYorktoSanFrancisco"”。在“Details”窗口可以看到表格的詳細(xì)結(jié)果。也可以在下方看到整個(gè)表格的內(nèi)容,被檢查的字段以黑色的粗體文字顯示,沒有檢查的字段以灰色文字顯示。如下圖所示: 這個(gè)表格檢查點(diǎn)檢查的字段值,其實(shí)際值與預(yù)期值相符,所以檢查點(diǎn)的結(jié)果為Passed。驗(yàn)證標(biāo)準(zhǔn)檢查點(diǎn)在testresultstree中展開“BookaFlight:Mercury>passFirst0”,并選擇“Checkpoint"passFirst0"”。在“Details”窗口可以看到標(biāo)準(zhǔn)檢查點(diǎn)的詳細(xì)結(jié)果,如檢查了哪些屬性,以及屬性的值。驗(yàn)證文字檢查點(diǎn)在testresultstree中展開“CheckpointIteration1(Row1)>Action1Summary>Welcome:MercuryTours>FlightConfirmation:Mercury”,并選擇“Checkpoint"NewYork"”。顯示如界面,因?yàn)槲淖謾z查點(diǎn)的實(shí)際值與預(yù)期值相同,所以檢查點(diǎn)的結(jié)果為Passed。 參數(shù)化在測試應(yīng)用程序時(shí),可能想檢查對(duì)應(yīng)用程序使用不同輸入數(shù)據(jù)進(jìn)行同一操作時(shí),程序是否能正常的工作。在這種情況下,你可以將這個(gè)操作重復(fù)錄制多次,每次填入不同的數(shù)據(jù),這種方法雖然能夠解決問題,但實(shí)現(xiàn)起來太笨拙了。QuickTest提供了一個(gè)更好的方法來解決這個(gè)問題——參數(shù)化測試腳本。參數(shù)化測試腳本包括數(shù)據(jù)輸入的參數(shù)化和檢測點(diǎn)的參數(shù)化。使用QuickTest可以通過將固定值替換為參數(shù),擴(kuò)展基本測試或組件的范圍。該過程(稱為參數(shù)化)大大提高了測試或組件的功能和靈活性??稍赒uickTest中使用參數(shù)功能,通過參數(shù)化測試或組件所使用的值來增強(qiáng)測試或組件。參數(shù)是一種從外部數(shù)據(jù)源或生成器賦值的變量。QuickTest可以參數(shù)化測試或組件中的步驟和檢查點(diǎn)中的值。還可以參數(shù)化操作參數(shù)的值。如果希望參數(shù)化測試或組件中多個(gè)步驟中的同一個(gè)值,可能需要考慮使用數(shù)據(jù)驅(qū)動(dòng)器,而不是手動(dòng)添加參數(shù)。參數(shù)化步驟和檢查點(diǎn)中的值錄制或編輯測試或組件時(shí),可以參數(shù)化步驟和檢查點(diǎn)中的值。可以參數(shù)化選定步驟的對(duì)象屬性的值。還可以參數(shù)化為該步驟定義的操作(方法或函數(shù)參數(shù))的值。例如,應(yīng)用程序或網(wǎng)站可能包含一個(gè)帶有編輯字段的表單,用戶可以在該編輯字段中鍵入用戶名。你可能希望測試應(yīng)用程序或網(wǎng)站是否讀取該信息并將其正確顯示在對(duì)話框中??梢圆迦胍粋€(gè)對(duì)已登錄的用戶名使用內(nèi)置環(huán)境變量的文本檢查點(diǎn),以檢查顯示的信息是否正確。通過參數(shù)化檢查點(diǎn)屬性的值,可以檢查應(yīng)用程序或網(wǎng)站如何基于不同的數(shù)據(jù)執(zhí)行相同的操作。例如,如果要測試MercuryTours示例網(wǎng)站,可以創(chuàng)建一個(gè)檢查點(diǎn),以便檢查預(yù)訂機(jī)票后該機(jī)票是否被正確預(yù)訂。假設(shè)您需要檢查針對(duì)各種不同目的地所預(yù)訂的航班是否正確??梢詾槟康牡匦畔⑻砑右粋€(gè)數(shù)據(jù)表參數(shù),而不是為每個(gè)目的地分別創(chuàng)建帶有單獨(dú)檢查點(diǎn)的不同測試或組件。對(duì)于測試或組件的每次循環(huán),QuickTest都會(huì)針對(duì)不同目的地檢查航班信息。參數(shù)化對(duì)象和檢查點(diǎn)的屬性值可以在“對(duì)象屬性”或“對(duì)象庫”對(duì)話框中參數(shù)化對(duì)象的一個(gè)或多個(gè)屬性的值??梢栽凇皺z查點(diǎn)屬性”對(duì)話框中參數(shù)化檢查點(diǎn)的一個(gè)或多個(gè)屬性的值。采用下列方式可以打開“對(duì)象屬性”對(duì)話框或“檢查點(diǎn)屬性”對(duì)話框:選擇“步驟”>“對(duì)象屬性”,或者右鍵單擊某個(gè)步驟并選擇“對(duì)象屬性”。將打開“對(duì)象屬性”對(duì)話框。選擇“工具”>“對(duì)象庫”,單擊“對(duì)象庫”工具欄按鈕,或者右鍵單擊包含該對(duì)象的操作或組件,然后選擇“對(duì)象庫”。將打開“對(duì)象庫”對(duì)話框。選擇“步驟”>“檢查點(diǎn)屬性”,或者右鍵單擊該檢查點(diǎn)并選擇“檢查點(diǎn)屬性”。然后在對(duì)話框的“配置值”區(qū)域中選擇參數(shù),如果該值已經(jīng)參數(shù)化,則“參數(shù)”框?qū)@示該值的當(dāng)前參數(shù)定義。如果該值尚未參數(shù)化,則“參數(shù)”框?qū)@示該值的默認(rèn)參數(shù)定義。參數(shù)化操作的值如果步驟中使用的方法或函數(shù)具有參數(shù),則可以根據(jù)需要參數(shù)化該參數(shù)值。例如,如果操作使用Click方法,則可以參數(shù)化x參數(shù)、y參數(shù)或這兩者的值。在關(guān)鍵字視圖中選擇已參數(shù)化的值時(shí),將顯示該參數(shù)類型的圖標(biāo)。例如,在以下片段中,已將Set方法的值定義為隨機(jī)數(shù)字參數(shù)。每次運(yùn)行測試或組件時(shí),QuickTest都會(huì)在creditnumber編輯框中輸入一個(gè)隨機(jī)數(shù)字值。 可以使用視圖中的“值”列中的參數(shù)化圖標(biāo)來參數(shù)化操作值。 單擊參數(shù)化圖標(biāo),打開“值配置選項(xiàng)”對(duì)話框,將顯示當(dāng)前定義的值。選擇“參數(shù)”。如果該值已經(jīng)參數(shù)化,則“參數(shù)”部分將顯示該值的當(dāng)前參數(shù)定義。如果該值尚未參數(shù)化,則“參數(shù)”部分將顯示該值的默認(rèn)參數(shù)定義。單擊“確定”接受顯示的參數(shù)語句并關(guān)閉該對(duì)話框。選擇一個(gè)尚未參數(shù)化的值時(shí),QuickTest會(huì)為該值生成默認(rèn)參數(shù)定義。下表描述了如何確定默認(rèn)參數(shù)設(shè)置:執(zhí)行參數(shù)化時(shí)條件默認(rèn)參數(shù)類型默認(rèn)參數(shù)名操作中的步驟或檢查點(diǎn)的值至少在當(dāng)前操作中定義了一個(gè)輸入操作參數(shù)操作參數(shù)在“操作屬性”對(duì)話框的“參數(shù)”選項(xiàng)卡中顯示第一個(gè)輸入?yún)?shù)嵌套操作的輸入操作參數(shù)值至少為調(diào)用該嵌套操作的操作定義了一個(gè)輸入操作參數(shù)操作參數(shù)在調(diào)用操作的“操作屬性”對(duì)話框的“參數(shù)”選項(xiàng)卡中顯示第一個(gè)輸入?yún)?shù)頂層操作調(diào)用的輸入操作參數(shù)值至少為測試定義了一個(gè)輸入?yún)?shù)測試參數(shù)在“測試設(shè)置”對(duì)話框的“參數(shù)”選項(xiàng)卡中顯示第一個(gè)輸入?yún)?shù)組件中的步驟或檢查點(diǎn)的值至少為該組件定義了一個(gè)輸入?yún)?shù)組件參數(shù)在“業(yè)務(wù)組件設(shè)置”對(duì)話框的“參數(shù)”選項(xiàng)卡中顯示第一個(gè)輸入?yún)?shù)如果上述相關(guān)條件不為真,則默認(rèn)參數(shù)類型為“數(shù)據(jù)表”。如果接受了默認(rèn)參數(shù)詳細(xì)信息,QuickTest將用基于選定值的名稱新建一個(gè)數(shù)據(jù)表參數(shù)。參數(shù)種類QuickTest有四種類型的參數(shù):測試、操作或組件參數(shù),通過它可以使用從測試或組件中傳遞的值,或者來自測試中的其他操作的值。為了在特定操作內(nèi)使用某個(gè)值,必須將該值通過測試的操作層次結(jié)構(gòu)向下傳遞到所需的操作。然后,可以使用該參數(shù)值來參數(shù)化測試或組件中的步驟。例如,假設(shè)要使用從運(yùn)行(調(diào)用)測試的外部應(yīng)用程序傳遞到測試中的某個(gè)值來參數(shù)化Action3中的一個(gè)步驟??蓪⒃撝祻臏y試級(jí)別傳遞到Action1(頂層操作)至Action3(Action1的子操作),然后使用該“操作”輸入?yún)?shù)值(從外部應(yīng)用程序傳遞的值)來參數(shù)化所需的步驟。數(shù)據(jù)表參數(shù),通過它可以創(chuàng)建使用您所提供的數(shù)據(jù)多次運(yùn)行的數(shù)據(jù)驅(qū)動(dòng)的測試(或操作)。在每次重復(fù)(或循環(huán))中,QuickTest均使用數(shù)據(jù)表中不同的值。例如,假設(shè)您的應(yīng)用程序或網(wǎng)站包含一項(xiàng)功能,用戶可以通過該功能從成員數(shù)據(jù)庫中搜索聯(lián)系信息。當(dāng)用戶輸入某個(gè)成員的姓名時(shí),將顯示該成員的聯(lián)系信息,以及一個(gè)標(biāo)記為“查看<MemName>的照片”的按鈕,其中<MemName>是該成員的姓名。可以參數(shù)化按鈕的名稱屬性,以便在運(yùn)行會(huì)話的每次循環(huán)期間,QuickTest可標(biāo)識(shí)不同的照片按鈕。環(huán)境變量參數(shù),通過它可以在運(yùn)行會(huì)話期間使用來自其他來源的變量值。這些變量值可能是您所提供的值,或者是QuickTest基于您選擇的條件和選項(xiàng)而生成的值。例如,可以讓QuickTest從某個(gè)外部文件讀取用于填寫Web表單的所有值,或者可以使用QuickTest的內(nèi)置環(huán)境變量之一來插入有關(guān)運(yùn)行測試或組件的計(jì)算機(jī)的當(dāng)前信息。隨機(jī)數(shù)字參數(shù),通過它可以插入隨機(jī)數(shù)字作為測試或組件的值。例如,要檢查應(yīng)用程序處理大小機(jī)票訂單的方式,可以讓QuickTest生成一個(gè)隨機(jī)數(shù)字,然后將其插入到“票數(shù)”編輯字段中。使用數(shù)據(jù)表參數(shù)可以通過創(chuàng)建數(shù)據(jù)表參數(shù)來為參數(shù)提供可能的值列表。通過數(shù)據(jù)表參數(shù)可以創(chuàng)建使用所提供的數(shù)據(jù)多次運(yùn)行的數(shù)據(jù)驅(qū)動(dòng)測試、組件或操作。在每次重復(fù)中,QuickTest均使用數(shù)據(jù)表中不同的值。例如,考慮MercuryTours示例網(wǎng)站,通過該網(wǎng)站可預(yù)訂航班請(qǐng)求。要預(yù)訂航班,需要提供航班路線,然后單擊“繼續(xù)”按鈕。該網(wǎng)站將針對(duì)請(qǐng)求的路線返回可用的航班??赏ㄟ^訪問網(wǎng)站并錄制大量查詢的提交來執(zhí)行該測試。這是一個(gè)既費(fèi)時(shí)又費(fèi)力的低效解決方案。通過使用數(shù)據(jù)表參數(shù),可以連續(xù)對(duì)多個(gè)查詢運(yùn)行測試或組件。參數(shù)化測試或組件時(shí),需要首先錄制訪問網(wǎng)站并針對(duì)所請(qǐng)求的一條路線來檢查可用航班的步驟。然后將錄制的路線替換為某個(gè)數(shù)據(jù)表參數(shù),并在數(shù)據(jù)表的全局表中添加自己的數(shù)據(jù)集,每條路線一個(gè)。新建數(shù)據(jù)表參數(shù)時(shí),將在數(shù)據(jù)表中添加新的一列,并將參數(shù)化的當(dāng)前值放在第一行中。如果要對(duì)值進(jìn)行參數(shù)化并選擇現(xiàn)有的數(shù)據(jù)表參數(shù),則將保留所選參數(shù)的列中的值,并且這些值不會(huì)被參數(shù)的當(dāng)前值覆蓋。表中的每個(gè)列都表示單個(gè)數(shù)據(jù)表參數(shù)的值列表。列標(biāo)題是參數(shù)名。表中的每一行都表示QuickTest在測試或組件的單次循環(huán)期間為所有參數(shù)提交的一組值。運(yùn)行測試或組件時(shí),QuickTest將針對(duì)表中的每一行數(shù)據(jù)運(yùn)行一次測試或組件循環(huán)。例如,如果測試在數(shù)據(jù)表的全局表中有十行,則運(yùn)行十次循環(huán)。在上面的例子中,當(dāng)運(yùn)行測試時(shí),QuickTest降為每一個(gè)路線分別提交一個(gè)查詢。使用環(huán)境變量參數(shù)QuickTest可以插入環(huán)境變量列表中的值,該列表是可通過測試訪問的變量和相應(yīng)值的列表。在測試運(yùn)行的整個(gè)過程中,無論循環(huán)次數(shù)是多少,環(huán)境變量的值始終保持不變,除非在腳本中以編程方式更改變量的值。QuickTest有以下三種環(huán)境變量:用戶定義的內(nèi)部環(huán)境變量、用戶定義的外部環(huán)境變量以及內(nèi)置環(huán)境變量。用戶定義的內(nèi)部環(huán)境變量--在測試內(nèi)定義的變量。這些變量與測試一起保存,并且只能在定義這些變量的測試內(nèi)訪問。在“測試設(shè)置”對(duì)話框或“參數(shù)選項(xiàng)”對(duì)話框的“環(huán)境”選項(xiàng)卡中,可以創(chuàng)建或修改測試中用戶定義的內(nèi)部環(huán)境變量。用戶定義的外部環(huán)境變量--在活動(dòng)外部環(huán)境變量文件中預(yù)定義的變量??筛鶕?jù)需要?jiǎng)?chuàng)建任意多的文件,并為每個(gè)測試選擇一個(gè)適當(dāng)?shù)奈募蛘吒挠糜诿總€(gè)測試運(yùn)行的文件。內(nèi)置環(huán)境變量--表示有關(guān)測試和運(yùn)行測試的計(jì)算機(jī)的信息的變量,例如測試路徑和操作系統(tǒng)。從所有測試和組件中都可以訪問這些變量,并且它們都被指定為只讀變量使用隨機(jī)數(shù)字參數(shù)當(dāng)選擇“隨機(jī)數(shù)字”作為參數(shù)類型時(shí),可以通過“參數(shù)選項(xiàng)”對(duì)話框?qū)?shù)配置為使用隨機(jī)數(shù)字?!爸蹬渲眠x項(xiàng)”對(duì)話框的“參數(shù)”部分與“參數(shù)選項(xiàng)”對(duì)話框非常相似。數(shù)字范圍--指定用于生成隨機(jī)數(shù)字的范圍。默認(rèn)情況下,隨機(jī)數(shù)字范圍介于0和100之間??赏ㄟ^在“從”和“到”框中輸入不同的值來修改此范圍。該范圍必須介于0和2147483647(包含)之間。名稱--指定參數(shù)的名稱。通過為隨機(jī)參數(shù)指定名稱可以在測試中多次使用同一個(gè)參數(shù)??梢赃x擇現(xiàn)有的命名參數(shù),或者通過輸入新的描述性名稱來新建命名參數(shù)。生成新隨機(jī)數(shù)字--定義命名隨機(jī)參數(shù)的生成計(jì)時(shí)。選中“名稱”復(fù)選框時(shí)會(huì)啟用該框??梢赃x擇下列選項(xiàng)之一:為每次操作循環(huán):在每次操作循環(huán)結(jié)束時(shí)生成一個(gè)新數(shù)字。為每次測試循環(huán):在每次全局循環(huán)結(jié)束時(shí)生成一個(gè)新數(shù)字。為整個(gè)測試運(yùn)行生成一次:第一次使用參數(shù)時(shí)生成一個(gè)新數(shù)字。在整個(gè)測試運(yùn)行中,對(duì)參數(shù)使用同一個(gè)數(shù)字。參數(shù)化測試腳本定義參數(shù)在上面的課程中我們學(xué)習(xí)了參數(shù)的種類以及參數(shù)化步驟和檢查點(diǎn)中的值,現(xiàn)在我們使用Checkpoint腳本,在測試腳本中,紐約是個(gè)常數(shù)值,也就是說,每次執(zhí)行測試腳本預(yù)定機(jī)票時(shí),出發(fā)地點(diǎn)都紐約,現(xiàn)在,我們將測試腳本中的出發(fā)地點(diǎn)參數(shù)化,這樣,執(zhí)行測試腳本時(shí)就會(huì)以不同的出發(fā)地點(diǎn)去預(yù)定機(jī)票了。1.首先,我們打開Checkpoint測試腳本,將腳本另存為“Parameter”,然后選擇要參數(shù)化的文字:在視圖樹中展開“Action1>Welcome:MercuryTours>FindaFlight:Mercury”。2.在視圖樹中選擇“fromPort”右邊的“Value”字段,然后再點(diǎn)擊參數(shù)化圖標(biāo),開啟“ValueConfigurationOptions”對(duì)話窗口: 3.設(shè)置要參數(shù)化的屬性,選擇“Parameter”選擇項(xiàng),這樣就可以用參數(shù)值來取代“NewYork”這個(gè)常數(shù)了,在參數(shù)中選擇“DataTable”選項(xiàng),這樣這個(gè)參數(shù)就可以從QuickTest的DataTable中取得,將參數(shù)的名字改為“departure”。4.點(diǎn)擊“OK”確認(rèn),QuickTest會(huì)在DataTable中新增departure參數(shù)字段,并且插入了一行NewYork的值,NewYork會(huì)成為測試腳本執(zhí)行使用的第一個(gè)值。參數(shù)化以后可以看到樹視圖中的變化,在參數(shù)之前,這個(gè)測試步驟顯示“foomPost…Select…NewYork”,現(xiàn)在,這個(gè)步驟變成了“foomPost…Select…DataTable("departure",dtGlobalSheet)”。而且當(dāng)點(diǎn)擊Value字段時(shí),Value字段會(huì)顯示如圖所示:,表示此測試步驟已經(jīng)被參數(shù)化,而且其值從DataTable中的departure字段中獲得。5.在departure字段中加入出發(fā)點(diǎn)資料,使QuickTest可以使用這些資料執(zhí)行腳本。 在departure字段的第二行,第三行分別輸入:Portland、Seattle。6.保存測試腳本。修正受到參數(shù)化影響的步驟 當(dāng)測試步驟被參數(shù)化以后,有可能會(huì)影響到其它的測試步驟也要參數(shù)化,例如我們?yōu)榱蓑?yàn)證在“FlightConfirmation”網(wǎng)頁中是否出現(xiàn)“NewYork”(第三章創(chuàng)建文字檢查點(diǎn)),在網(wǎng)頁上添加了一個(gè)文字檢查點(diǎn)。那么,就要對(duì)出發(fā)地的文字檢查點(diǎn)作參數(shù)化,以符合對(duì)出發(fā)地點(diǎn)參數(shù)化的預(yù)期結(jié)果。 修正文字檢查點(diǎn),首先在樹視圖中,展開“Action1>Welcome:MercuryTours>FlightConfirmation:Mercury”頁面,然后點(diǎn)擊鼠標(biāo)右鍵,選擇“CheckpointProperties”,打開“TextCheckpointProperties”對(duì)話窗口: 在“CheckedText”的Constant字段中顯示為“NewYork”,表示測試腳本在每次執(zhí)行時(shí),這個(gè)文字檢查點(diǎn)的預(yù)期值都為“NewYork”。我們選擇Parameter,點(diǎn)擊旁邊的“ParameterOptions”按鈕,打開“ParameterOptions”對(duì)話窗口:在參數(shù)類型選擇框選擇“DataTable”選項(xiàng),在名字選擇框選擇“departure”選項(xiàng),指明這個(gè)文字檢查點(diǎn)使用departure字段中的值當(dāng)成檢查點(diǎn)的預(yù)期值。點(diǎn)擊“OK”關(guān)閉窗口,這樣文字檢查點(diǎn)也被參數(shù)化了。執(zhí)行并分析使用參數(shù)的測試腳本 參數(shù)化測試腳本后,我們運(yùn)行Parameter測試腳本。QuickTest會(huì)使用DataTable中departure字段值,執(zhí)行三次測試腳本。 執(zhí)行測試腳本:點(diǎn)擊工具欄上的“Run”按鈕,開啟Run對(duì)話窗口,選取“Newrunresultsfolder”,其余為默認(rèn)值,點(diǎn)擊“OK”開始執(zhí)行腳本。當(dāng)腳本運(yùn)行結(jié)束后,會(huì)開啟測試結(jié)果窗口。在樹視圖中,展開“ParameterIteration2>Action1Summary>WelcomeMercuryTours>FlightConfirmation:Mercury”,選擇“Checkpoint"NewYork"”,顯示如下圖: 在檢查點(diǎn)“Details”窗口中,顯示Portland為預(yù)期記過同時(shí)也是實(shí)際的值,所以文字檢查點(diǎn)為通過。同時(shí)也可以看到在下方的“Application”窗口中,顯示機(jī)票的出發(fā)地點(diǎn)也是Portland。 在圖中可以看出,雖然每次執(zhí)行時(shí),文字檢查點(diǎn)的結(jié)果是通過的,但是第二次與第三次的執(zhí)行結(jié)果仍然為失敗。這是因?yàn)槌霭l(fā)地點(diǎn)的改變,造成在表格檢查點(diǎn)中的機(jī)票價(jià)錢改變,導(dǎo)致表格檢查點(diǎn)失敗。在以后的課程中,我們將學(xué)習(xí)修正表格檢查點(diǎn),讓QuickTest自動(dòng)更新表格檢查點(diǎn)的預(yù)期結(jié)果,就可以檢查正確的票價(jià)了。 輸出值通過QuickTest可以檢索測試或組件中的值,并將這些值作為輸出值存儲(chǔ)。此后,就可以檢索這些值,并在運(yùn)行會(huì)話的不同階段使用該值作為輸入。輸出值是一個(gè)步驟,在該步驟中,捕獲測試或組件中某個(gè)特定點(diǎn)的一個(gè)或多個(gè)值,并在運(yùn)行會(huì)話持續(xù)時(shí)間存儲(chǔ)這些值。隨后,在運(yùn)行會(huì)話中的不同點(diǎn),可以將這些值作為輸入使用??梢暂敵鋈魏螌?duì)象的屬性值。還可以從文本字符串、表單元格、數(shù)據(jù)庫和XML文檔輸出值。創(chuàng)建輸出值步驟時(shí),可以確定運(yùn)行會(huì)話持續(xù)時(shí)間內(nèi)的值存儲(chǔ)在哪里,以及如何使用這些值。運(yùn)行會(huì)話期間,QuickTest檢索指定點(diǎn)的每個(gè)值并將其存儲(chǔ)在指定位置。以后當(dāng)運(yùn)行會(huì)話中需要值時(shí),QuickTest將從該位置檢索值并根據(jù)需要來使用。創(chuàng)建輸出值輸出值類型將輸出值步驟添加到測試或組件時(shí),首先選擇要輸出的值的類別,例如,屬性值、文本值或XML元素值。然后,就可以確定要輸出的值以及每個(gè)值的存儲(chǔ)位置。在QuickTest中可以創(chuàng)建以下幾個(gè)類別的輸出值:標(biāo)準(zhǔn)輸出值文本和文本區(qū)輸出值數(shù)據(jù)庫輸出值XML輸出值 1.標(biāo)準(zhǔn)輸出值可以使用標(biāo)準(zhǔn)輸出值來輸出大多數(shù)對(duì)象的屬性值。例如,在基于Web的應(yīng)用程序中,一個(gè)網(wǎng)頁中的鏈接數(shù)可能基于用戶在上一頁的表單中所做選擇的不同而變化??梢栽跍y試中創(chuàng)建一個(gè)輸出值,來存儲(chǔ)頁面中的鏈接數(shù)。還可以使用標(biāo)準(zhǔn)輸出值來輸出表單元格的內(nèi)容。2.文本和文本區(qū)輸出值可以使用文本輸出值來輸出屏幕或網(wǎng)頁中顯示的文本字符串。創(chuàng)建文本輸出值時(shí),可以輸出對(duì)象文本的一部分。還可以指定要在輸出文本之前和之后輸出的文本??梢允褂梦谋緟^(qū)域輸出值來輸出WindowsApplications中屏幕已定義區(qū)域內(nèi)顯示的文本字符串。例如,假設(shè)在測試的應(yīng)用程序中,想要存儲(chǔ)顯示在特定步驟之后的任何錯(cuò)誤消息的文本。在If語句中,查看帶有已知標(biāo)題欄值(例如Error)的窗口是否存在。如果該窗口存在,則輸出該窗口中的文本(假設(shè)窗口大小與所有可能的錯(cuò)誤消息的大小相同)。在使用基于Windows的應(yīng)用程序文本輸出值時(shí)應(yīng)注意以下事項(xiàng):在基于Windows的應(yīng)用程序中創(chuàng)建文本或文本區(qū)輸出值時(shí)使用文本識(shí)別機(jī)制,有時(shí)會(huì)檢索到不想要的文本信息(例如隱藏文本和帶陰影的文本,這些文本會(huì)作為同一字符串的多個(gè)副本顯示)。此外,在不同的運(yùn)行會(huì)話中,文本(和文本區(qū))輸出值的表現(xiàn)方式可能不同,具體取決于使用的操作系統(tǒng)版本、已經(jīng)安裝的ServicePack、安裝的其他工具包、的應(yīng)用程序中使用的API等等。3.?dāng)?shù)據(jù)庫輸出值可以使用數(shù)據(jù)庫輸出值,基于在數(shù)據(jù)庫上定義的查詢的結(jié)果(結(jié)果集)來輸出數(shù)據(jù)庫單元格內(nèi)容的值??梢詮慕Y(jié)果集的全部內(nèi)容中創(chuàng)建輸出值,也可以從其中某一部分創(chuàng)建輸出值。在運(yùn)行會(huì)話過程中,QuickTest從數(shù)據(jù)庫中檢索當(dāng)前數(shù)據(jù),并根據(jù)指定的設(shè)置來輸出值。4.XML輸出值可以使用XML輸出值輸出XML文檔中的XML元素和屬性的值。運(yùn)行會(huì)話完成后,可以在“測試結(jié)果”窗口中查看XML輸出值的概要結(jié)果。還可以通過打開“XML輸出值結(jié)果”窗口來查看詳細(xì)結(jié)果。例如,假設(shè)網(wǎng)頁中的某個(gè)XML文檔包含新車的價(jià)目表??梢酝ㄟ^選擇要輸出的相應(yīng)的XML元素值來輸出特定汽車的價(jià)格。以下給出每種環(huán)境支持的輸出值類型:輸出值類別Web標(biāo)準(zhǔn)WindowsVBActiveX其它環(huán)境標(biāo)準(zhǔn)SSSSNA頁(標(biāo)準(zhǔn))SNANANANA表(標(biāo)準(zhǔn))SNANASNA文本SSSSNA文本區(qū)NSSSSNA數(shù)據(jù)庫NSNANANAS(DbTable)XMLSNANANAXML文件*S--支持NS--不支持NA--不適用存儲(chǔ)輸出值定義輸出值時(shí),可以指定運(yùn)行會(huì)話期間在哪里以及如何存儲(chǔ)每個(gè)值??梢詫⒅递敵龅剑簻y試、操作或組件參數(shù)運(yùn)行時(shí)數(shù)據(jù)表環(huán)境變量1.將值存儲(chǔ)在測試、操作或組件參數(shù)中可以將值輸出到操作或組件參數(shù),以便可以在運(yùn)行會(huì)話后面的部分中使用來自運(yùn)行會(huì)話某一部分的值,或者傳遞回運(yùn)行(調(diào)用)測試或組件的應(yīng)用程序。例如,假設(shè)要測試一個(gè)購物應(yīng)用程序,該程序計(jì)算采購費(fèi)用,并自動(dòng)從賬戶中扣除采購金額。想要測試在每次運(yùn)行帶有不同的采購單的操作或組件時(shí),該應(yīng)用程序是否能夠正確地從賬戶中扣除采購金額,可以將花費(fèi)的總金額輸出到某個(gè)操作或組件的參數(shù)值,然后在稍后的扣除該金額操作中的運(yùn)行會(huì)話部分使用該值。2.將值存儲(chǔ)在運(yùn)行時(shí)數(shù)據(jù)表中對(duì)于要運(yùn)行多次的由數(shù)據(jù)驅(qū)動(dòng)的測試(或操作)來說,將值輸出到運(yùn)行時(shí)數(shù)據(jù)表的選項(xiàng)特別有用。在每次重復(fù)或循環(huán)中,QuickTest檢索當(dāng)前值并將其存儲(chǔ)在運(yùn)行時(shí)數(shù)據(jù)表的相應(yīng)的行中。例如,要測試一個(gè)航班預(yù)定應(yīng)用程序,因此設(shè)計(jì)了一個(gè)測試來創(chuàng)建新預(yù)定,隨后查看預(yù)定詳細(xì)信息。每次運(yùn)行測試時(shí),應(yīng)用程序?yàn)樾骂A(yù)定生成一個(gè)唯一的訂單號(hào)。要查看預(yù)定,應(yīng)用程序要求用戶輸入相同的訂單號(hào)。運(yùn)行該測試之前,還不知道訂單號(hào)。要想解決這個(gè)問題,就要將在創(chuàng)建新預(yù)定時(shí)生成的唯一訂單號(hào)的值輸入數(shù)據(jù)表中。然后,在“ViewReservation”屏幕中,使用包含存儲(chǔ)值的列將輸出值插入訂單號(hào)輸入字段中。運(yùn)行測試時(shí),QuickTest檢索站點(diǎn)為新預(yù)定生成的唯一訂單號(hào),并在運(yùn)行時(shí)數(shù)據(jù)表中輸入此輸出值。測試到達(dá)查看預(yù)定所需的訂單號(hào)輸入字段時(shí),QuickTest將存儲(chǔ)在運(yùn)行時(shí)數(shù)據(jù)表中的唯一訂單號(hào)插入訂單號(hào)字段中。3.將值存儲(chǔ)在環(huán)境變量中將值輸出到內(nèi)部用戶定義的環(huán)境變量時(shí),可以在運(yùn)行會(huì)話后面的階段使用該環(huán)境變量輸入?yún)?shù)。例如,假設(shè)在測試一個(gè)應(yīng)用程序,該程序會(huì)提示用戶在“歡迎使用”頁輸入賬號(hào),然后顯示用戶姓名。就可以使用文本輸出值來捕獲顯示的名稱值,并將其存儲(chǔ)在環(huán)境變量中。然后,可以檢索環(huán)境變量中的值以便在應(yīng)用程序的其他位置中輸入用戶的姓名。輸出屬性值定義標(biāo)準(zhǔn)輸出值通過“輸出值屬性”對(duì)話框可以選擇要輸出的屬性值,并定義您選擇的每個(gè)值的設(shè)置。關(guān)閉此對(duì)話框之前,可以為相同對(duì)象選擇許多屬性并為每個(gè)屬性值定義輸出設(shè)置。運(yùn)行會(huì)話過程中到達(dá)輸出值步驟時(shí),QuickTest將檢索所有指定的屬性值。 1.標(biāo)識(shí)對(duì)象對(duì)話框的上部顯示有關(guān)要?jiǎng)?chuàng)建輸出值的測試對(duì)象的信息:項(xiàng)目描述名稱測試對(duì)象的名稱類對(duì)象的類別 2.選擇要輸出的屬性值對(duì)話框的上半部分包含一個(gè)窗格,其中列出選定對(duì)象的屬性,以及它們的值和類型。該窗格包含以下項(xiàng):窗口元素描述復(fù)選框要指定將輸出的屬性,選擇相應(yīng)的復(fù)選框,可以為對(duì)象選擇多個(gè)屬性,并為選擇的每個(gè)屬性值指定輸出選項(xiàng)。類別圖標(biāo)表示屬性的值當(dāng)前為常量圖標(biāo)表示屬性的值當(dāng)前存儲(chǔ)在測試、操作或組件參數(shù)中圖標(biāo)表示屬性的值當(dāng)前存儲(chǔ)在運(yùn)行時(shí)數(shù)據(jù)表中圖標(biāo)表示屬性的值當(dāng)前存儲(chǔ)在環(huán)境變量中屬性屬性的名稱值屬性的當(dāng)前值 3.指定屬性值的輸出設(shè)置選擇屬性的復(fù)選框時(shí),將突出顯示屬性詳細(xì)信息,并且在“配置值”區(qū)域中顯示選定屬性值的當(dāng)前輸出定義。第一次選擇要輸出的屬性值時(shí),“配置值”區(qū)域中會(huì)顯示值的默認(rèn)輸出定義。選擇要輸出的屬性值時(shí),可以:通過選擇其他屬性值或單擊“OK”接受顯示的輸出定義。通過單擊“修改”按鈕更改選定值的輸出類型和/或設(shè)置。將打開“輸出選項(xiàng)”對(duì)話框并顯示該值當(dāng)前的輸出類型和設(shè)置。指定輸出類型和和設(shè)置為每個(gè)值定義的輸出類型和設(shè)置決定該值在運(yùn)行會(huì)話中的存儲(chǔ)位置以及使用方式。到達(dá)輸出值步驟時(shí),QuickTest檢索為輸出選定的每個(gè)值并將其存儲(chǔ)在指定位置,以供以后在運(yùn)行會(huì)話中使用。新建輸出值步驟時(shí),QuickTest為選定要輸出的每個(gè)值指定一個(gè)默認(rèn)定義??梢酝ㄟ^選擇不同的輸出類型并/或更改輸出設(shè)置來更改選定值的當(dāng)前輸出定義:將值輸出到操作或組件參數(shù)將值輸出到數(shù)據(jù)表將值輸出到環(huán)境變量1.將值輸出到操作或組件參數(shù)可以將值輸出到操作或組件參數(shù),以便這些值可以在運(yùn)行會(huì)話的后面部分中使用,或者傳遞回運(yùn)行(調(diào)用)測試或組件的外部應(yīng)用程序。如果參數(shù)已經(jīng)定義為用于調(diào)用操作或組件的輸出參數(shù),只能將值輸出到操作或組件參數(shù)。此外,僅當(dāng)輸出值類型和參數(shù)值類型匹配時(shí),將值輸出到操作或組件的選項(xiàng)才可用。選擇“測試參數(shù)”、“操作參數(shù)”或“組件參數(shù)”作為輸出類型時(shí),通過“輸出選項(xiàng)”對(duì)話框可以選擇在其中存儲(chǔ)運(yùn)行會(huì)話持續(xù)時(shí)間的選定值的參數(shù)。2.將值輸出到數(shù)據(jù)表選擇“數(shù)據(jù)表”作為輸出類型時(shí),通過“輸出選項(xiàng)”對(duì)話框可以指定在運(yùn)行時(shí)數(shù)據(jù)表中存儲(chǔ)選定值的位置。在將值輸出到數(shù)據(jù)表時(shí),有以下選項(xiàng)可以修改:名稱--指定數(shù)據(jù)表中要存儲(chǔ)值的列的名稱。QuickTest建議使用輸出的默認(rèn)名稱??梢詮牧斜碇羞x擇現(xiàn)有的輸出名稱,也可以通過使用默認(rèn)輸出名稱或輸入有效的描述性名稱來新建輸出名稱。數(shù)據(jù)表中的位置--輸出測試的值時(shí),指定將數(shù)據(jù)表列名稱添加到數(shù)據(jù)表的全局工作表還是當(dāng)前操作工作表中。3.將值輸出到環(huán)境變量如果選擇“環(huán)境”作為輸出類型時(shí),通過“輸出選項(xiàng)”對(duì)話框,可以指定要在其中存儲(chǔ)運(yùn)行會(huì)話持續(xù)時(shí)間的選定值的環(huán)境參數(shù),該參數(shù)由內(nèi)部用戶定義。在腳本中建立輸出值建立輸出值在上一章中,因?yàn)樵诒砀駲z查點(diǎn)中機(jī)票價(jià)錢的預(yù)期結(jié)果,并沒有隨著出發(fā)地點(diǎn)的改變而變動(dòng),導(dǎo)致第二、第三次的執(zhí)行結(jié)果是失敗的?,F(xiàn)在,我們從“SelectaFlight:Mercury”網(wǎng)頁上取得機(jī)票價(jià)錢,并且已取得的機(jī)票價(jià)錢更新表格檢查點(diǎn)的預(yù)期結(jié)果,這樣一來,測試腳本就可以利用在“SelectaFlight:Mercury”網(wǎng)頁上取得的機(jī)票價(jià)錢去驗(yàn)證“BookaFlight:Mercury”上顯示的機(jī)票價(jià)錢。1.首先,我們打開Parameter測試腳本,將腳本另存為“Output”測試腳本。2.在樹視圖中,展開“Welcome:MercuryTours”并且點(diǎn)擊“SelectaFlight:Mercury”網(wǎng)頁,在ActiveScreen窗口會(huì)顯示相應(yīng)的頁面。在ActiveScreen窗口中選取框住270,然后點(diǎn)擊鼠標(biāo)右鍵,選擇“InsertTextOutput”,打開“TextOutputValueProperties”對(duì)話窗口:3.在“TextOutputValueProperties”對(duì)話窗口中點(diǎn)擊“Modify”按鈕,打開“OutputOptions”對(duì)話窗口:在名字字段顯示Select_a_Flight_MercuryOutput_Text_out,將其改成depart_flight_price,接受其它默認(rèn)值,點(diǎn)擊“OK”確認(rèn),QuickTest會(huì)在DataTable中加入depart_flight_price字段。在DataTable上的depart_flight_price字段的第一行會(huì)顯示從應(yīng)用程序上取得的輸出值(270)。在執(zhí)行時(shí),第一次QuickTest會(huì)取得一樣的值270,接下來的第二、第三次會(huì)從應(yīng)用程序上取得實(shí)際值,并存放在DataTable中。4.修正表格檢查點(diǎn)的預(yù)期值在樹視圖中,展開“Welcome:MercuryTours>BookaFlight:Mercury”,在“Checkpoint"NewYorktoSanFrancisco"”上點(diǎn)擊鼠標(biāo)右鍵,選擇“CheckpointProperties”,打開“TableCheckpointProperties”對(duì)話窗口。選中第三行,第三列(被勾選的字段),在“Configurevalue”中選擇“Parameter”然后點(diǎn)擊“ParameterOptions”按鈕,打開“ParameterOptions”對(duì)話窗口:在窗口的名字下拉列表中選擇depart_flight_price。5.點(diǎn)擊“OK”回到“TableCheckpointProperties”對(duì)話窗口,可以看到這個(gè)檢查點(diǎn)的預(yù)期結(jié)果已經(jīng)被參數(shù)化了。點(diǎn)擊“OK”關(guān)閉“TableCheckpointProperties”窗口,保存測試腳本執(zhí)行并分析使用輸出值的測試腳本 在上面我們?cè)诮ū局薪?cè)輸出值,并且將表格檢查點(diǎn)參數(shù)化,現(xiàn)在,執(zhí)行Output測試腳本。 執(zhí)行測試腳本:點(diǎn)擊工具欄上的“Run”按鈕,開啟Run對(duì)話窗口,選取“Newrunresultsfolder”,其余為默認(rèn)值,點(diǎn)擊“OK”開始執(zhí)行腳本。當(dāng)腳本運(yùn)行結(jié)束后,會(huì)開啟測試結(jié)果窗口。 在執(zhí)行結(jié)果窗口中,點(diǎn)擊樹視圖中的“Run-Time-Data”,可以在表格中看到執(zhí)行測試時(shí)使用的輸出值,在depart_flight_price字段中顯示了不同的機(jī)票價(jià)錢。在結(jié)果窗口中點(diǎn)擊“TestoutputSummary”可以看到,12個(gè)檢測點(diǎn)都通過了驗(yàn)證,運(yùn)行結(jié)果均為Passed。附錄資料:不需要的可以自行刪除常見的電腦英語查詢大全3DNow!(3Dnowaiting)3DPA(3DPositionalAudio,3D定位音頻)3DS(3DSubSystem,三維子系統(tǒng))ABS(AutoBalanceSystem,自動(dòng)平衡系統(tǒng))AC(AudioCodec,音頻多媒體數(shù)字信號(hào)編解碼器)ACOPS:AutomaticCPUOverHeatPreventionSystem(CPU過熱預(yù)防系統(tǒng))ACPI(AdvancedConfigurationandPowerInterface,先進(jìn)設(shè)置和電源管理)AE(AtmosphericEffects,霧化效果)AFR(AlternateFrameRendering,交替渲染技術(shù))AGAS(AntiGlareAntiStaticCoatings,防強(qiáng)光、防靜電涂層)AGP:AccelaratedGraphicPort(加速圖形端口),一種CPU與圖形芯片的總線結(jié)構(gòu)AGU(AddressGenerationUnits,地址產(chǎn)成單元)AH:AuthenticationHeader,鑒定文件頭AHA(AcceleratedHubArchitecture,加速中心架構(gòu))AL:ArtificialLife(人工生命)ALU(ArithmeticLogicUnit,算術(shù)邏輯單元)AMR(Audio/ModemRiser,音效/數(shù)據(jù)主機(jī)板附加直立插卡)AMR(Audio/ModemRiser;音效/調(diào)制解調(diào)器主機(jī)板附加直立插卡)AnisotropicFiltering(各向異性過濾)API(ApplicationProgrammingInterfaces,應(yīng)用程序接口)APIC:AdvancedProgrammableInterruptController(高級(jí)程序中斷控制器)APM(AdvancedPowerManagement,高級(jí)能源管理)APPE(AdvancedPacketParsingEngine,增強(qiáng)形幀解析引擎)ARP(AddressResolutionProtocol,地址解析協(xié)議)ASC(AntiStaticCoatings,防靜電涂層)ASC(Auto-SizingandCentering,自動(dòng)調(diào)效屏幕尺寸和中心位置)ASCII(AmericanStandardCodeforInformationInterchange,美國國家標(biāo)準(zhǔn)信息交換代碼)ASIC:ApplicationSpecificIntegratedCircuit(特殊應(yīng)用積體電路)ASKIR(AmplitudeShiftKeyed

溫馨提示

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

評(píng)論

0/150

提交評(píng)論