




已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第一章QTP簡介1.1自動化測試的好處如果你執(zhí)行過人工測試,你一定了解人工測試的缺點,人工測試非常浪費時間而且需要投入大量的人力。使用人工測試的結果,往往是在應用程序交付前,無法對應用程序的所有功能都作完整的測試。使用QuickTest可以加速整個測試的過程,并且建置完新版本的應用程序或網站后,可以重復使用測試腳本進行測試。以QuickTest執(zhí)行測試,就與人工測試一樣。QuickTest會仿真鼠標的動作與鍵盤的輸入,不過QuickTest比人工測試快了很多。自動化測試的好處快速QuickTest執(zhí)行測試比人工測試速度快多了??煽縌uickTest每一次的測試都可以正確的執(zhí)行相同的動作,可以避免人工測試的錯誤??芍貜蚎uickTest可以重復執(zhí)行相同的測試??沙绦蚧疩uickTest可以以程序的方式,撰寫復雜的測試腳本,以帶出隱藏在應用程序中的信息。廣泛性QuickTest可以建立廣泛的測試腳本,涵蓋應用程序的所有功能??稍偈褂肣uickTest可以重復使用測試腳本,即使應用程序的使用接口已經改變。1.2QuickTest工作流程1錄制測試腳本前的準備在測試前需要確認你的應用程序及QuickTest是否符合測試需求?確認你已經知道如何對應用程序進行測試,如要測試哪些功能、操作步驟、預期結果等。同時也要檢查一下QuickTest的設定,如Test Settings以及Options對話窗口,以確保QuickTest會正確的錄制并儲存信息。確認QuickTest以何種模式儲存信息。2錄制測試腳本操作應用程序或瀏覽網站時,QuickTest會在Keyword View 中以表格的方式顯示錄制的操作步驟。每一個操作步驟都是使用者在錄制時的操作,如在網站上點擊了鏈接,或則在文本框中輸入的信息。3加強測試腳本在測試腳本中加入檢查點,可以檢查網頁的鏈接、對象屬性、或者字符串,以驗證應用程序的功能是否正確。將錄制的固定值以參數取代,使用多組的數據測試程序。使用邏輯或者條件判斷式,可以進行更復雜的測試。4對測試腳本進行調試修改過測試腳本后,需要對測試腳本作調試,以確保測試腳本能正常并且流暢的執(zhí)行。5在新版應用程序或者網站上執(zhí)行測試腳本通過執(zhí)行測試腳本,QuickTest會在新本的網站或者應用程序上執(zhí)行測試,檢查應用程序的功能是否正確。6分析測試結果分析測試結果,找出問題所在。7測試報告如果你安裝了TestDirector(Quality Center),則你可以將發(fā)現的問題回報到 TestDirector(Quality Center)數據庫中。TestDirector(Quality Center)是Mercury測試管理工具。1.3QTP程序界面在學習創(chuàng)建測試之前,先了解一下QuickTest的主界面。下圖是錄制了一個操作后QuickTest的界面。在QTP界面包含標題欄、菜單欄、文件工具條等幾個界面元素,下面簡單解釋各界面元素的功能:n 標題欄,顯示了當前打開的測試腳本的名稱。n 菜單欄,包含了QuickTest的所有菜單命令項。n 文件工具條,在工具條上包含了以下幾個按鈕:n 測試工具條,包含了在創(chuàng)建、管理測試腳本是要使用的按鈕,如下圖:n 調試工具條,包含在調試測試腳本時要使用的工具條,如下圖:n 測試腳本管理窗口,提供了兩個可切換的窗口,分別通過圖形化方式和VBScript腳本方式來管理測試腳本。 n Data Table窗口,用于參數化你的測試。 n 狀態(tài)欄,顯示測試過程中的狀態(tài)。 在上面上面簡要介紹了QuickTest的主窗口,你可能對一些窗口元素到底是干什么的感到很困惑,在我們下面介紹QuickTest具體的功能時,會真正了解它們的作用。但在現在,應該盡可能的去熟悉這些界面元素,記住它們大概的功能,最好是花一些時間通過實際的操作來探索一下它們的功能,這對你能夠順利學習下面的內容是有幫助的。1.4Mercury Tours 示范網站Mercury Tours示范網站是一個提供機票預訂服務的網站,在本課程中,我們使用MI公司提供的Mercury Tours示范網站作為演示QuickTest各個功能的例子程序。1在開始使用Mercury Tours示范網站()之前,首先要在Mercury Tours網站上注冊一個使用者賬號。2Mercury Tours示范網站使用要登錄并使用Mercury Tours示范網站必須使用注冊賬號。在使用網站時,從 Flight Finder 網頁開始,按照畫面上的指示預訂機票。在Book a Flight 網頁,無需填寫真實的旅客信息,信用卡卡號等標示為紅色的字段中添加虛擬數據就可以了。3結束訂票動作完成訂票動作后,在 Flight Confirmation 網頁上點選LOG OUT 按鈕或是選擇SIGN-OFF按鈕。4關閉瀏覽器現在知道如何使用Mercury Tours示范網站,就可以開始使用QuickTest錄制測試腳本了。第二章錄制/執(zhí)行測試腳本 當瀏覽網站或使用應用程序時,QuickTest會紀錄你的操作步驟,并產生測試腳本。當停止錄制后,會看到QuickTest在Keyword View中以表格的方式顯示測試腳本的操作步驟。2.1錄制前的準備在錄制腳本前,首先要確認以下幾項:n 已經在Mercury Tours示范網站上注冊了一個新的使用者賬號。n 在正式開始錄制一個測試之前,關閉所有已經打開的IE窗口。這是為了能夠正常的進行錄制,這一點要特別注意。n 關閉所有與測試不相關的程序窗口。2.2錄制測試腳本2.2.1錄制測試腳本在這一節(jié)中我們使用QuickTest錄制一個測試腳本,在Mercury Tours 范例網站上預定一張從紐約(New York)到舊金山(San Francisco)的機票。1執(zhí)行QuickTest并開啟一個全新的測試腳本n 開啟QuickTest,在“Add-in Manager”窗口中選擇“Web”選項,點擊“OK”關閉“Add-in Manager”窗口,進入QuickTest Professional 主窗口。n 如果QuickTest Professional 已經啟動,檢查“HelpAbout QuickTest Professional”查看目前加載了那些add-ins。如果沒有加載“Web”,那么必須關閉并重新啟動QuickTest Professional,然后在“Add-in Manager”窗口中選擇“Web”。 n 如果在執(zhí)行QuickTest Professional時沒有開啟“Add-in Manager”則點擊“ToolOptions”,在“General”標簽頁勾選 “Display Add-in Manager on Startup”,在下次執(zhí)行QuickTest Professional 時就會看到“Add-in Manager”窗口了 2開始錄制測試腳本選中“TestRecord”或者點選工具欄上的“Record”按鈕。打開“Record and Run Settings”對話窗口:在“Web”標簽頁選擇“Open the following browser when a record or run session begins”在“Type”下拉列表中選擇“Microsoft Internet Explorer”為瀏覽器的類型;在“Address”中添加“/(網站地址)” 這樣,在錄制的時候,QuickTest會自動打開IE瀏覽器并連接到Mercury Tours 范例網站上。現在我們在切換到“Windows Application” 標簽頁,如下圖所示:如果選擇“Record and run test on any open Windows-based application”單選按鈕,則在錄制過程中,QuickTest會記錄你對所有的Windows程序所做的操作。如果選擇“Record and run on these application(opened when a session begins)”單選按鈕,則在錄制過程中,QuickTest只會記錄對那些添加到下面“Application details”列表框中的應用程序的操作(你可以通過“Add”、“Edit”、“Delete”按鈕來編輯這個列表)。我們選擇第二個單選按鈕。因為我們只是對Mercury Tours 范例網站進行操作,不涉及到Windows程序,所以保持列表為空。點擊“確定”按鈕,開始錄制了,將自動打開IE瀏覽器并連接到Mercury Tours 范例網站上。3登錄Mercury Tours 網站在用戶名和密碼輸入注冊時使用的賬號和密碼,點擊“Sign-in”,進入“Flight Finder”網頁。4輸入訂票數據輸入以下訂票數據:Departing From:New YorkOn:May 14Arriving In:San FranciscoReturning:May 28Service Class:Business class其他字段保留默認值,點擊“CONTINUE”按鈕打開“Select Flight”頁面。5選擇飛機航班可以保存默認值,點擊“CONTINUE”按鈕打開“Book a Flight”頁面。6輸入必填字段(紅色字段)輸入用戶名和信用卡號碼(信用卡可以輸入虛構的號碼,如8888-8888)。點擊網頁下方的“SECURE PURCHASE”按鈕,打開“Flight Confirmation”網頁。7完成定制流程查看訂票數據,并選擇“BACK TO HOME”回到Mercury Tours網站首頁。8停止錄制在QuickTest工具列上點擊“Stop”按鈕,停止錄制。到這里已經完成了預定從“紐約-舊金山”機票的動作,并且QuickTest已經錄制了從按下“Record”按鈕后到“Stop”按鈕之間的所有操作。9保存腳本選擇“FileSave”或者電機工具欄上的“Save”按鈕,開啟“Save”對話窗口。選擇的路徑,填寫文件名,我們取名為Flight。點擊“保存”按鈕進行保存。通過以上九個步驟,我們錄制了一個完整的測試腳本預定從紐約到舊金山的機票。2.2.2分析錄制的測試腳本在錄制過程中,QuickTest會在測試腳本管理窗口(也叫Tree View窗口)中產生對每一個操作的相應記錄。并在Keyword View中以類似Excel工作表的方式顯示所錄制的測試腳本。當錄制結束后,QuickTest也就記錄下了測試過程中的所有操作。測試腳本管理窗口顯示的內容如下圖所示:在Keyword View中的每一個字段都有其意義:n Item:以階層式的圖標表示這個操作步驟所作用的組件(測試對象、工具對象、函數呼叫或腳本)。n Operation:要在這個作用到的組件上執(zhí)行的動作,如點擊、選擇等。n Value:執(zhí)行動作的參數,例如當鼠標點擊一張圖片時是用左鍵還是右鍵。n Assignment:使用到的變量。n Comment:你在測試腳本中加入的批注。n Documentation:自動產生用來描述此操作步驟的英文說明。腳本中的每一個步驟在Keyword View中都會以一列來顯示,其中用來表示此組件類別的圖標以及步驟的詳細數據。下面我們針對一些常見的操作步驟作詳細說明:步驟說明Action1是一個動作的名稱Welcome:Mercury是被瀏覽器開啟的網站的名稱Welcome:Mercury Tours是網頁的名稱userName是edit box的名稱Set是在這個edit box上執(zhí)行的動作jojo是被輸入得值password是edit box的名稱SetSecure是在這個edit box上執(zhí)行的動作,此動作有加密的功能446845bf84444adc是被加密過的密碼Sign-In是圖像對象的名稱Chick是在這個圖像上執(zhí)行的動作41,4則是這個圖像被點擊的X,Y坐標2.3執(zhí)行測試腳本當運行錄制好的測試腳本時,QuickTest會打開被測試程序,執(zhí)行你在測試中錄制的每一個操作。測試運行結束后,QuickTest顯示本次運行的結果。接下來,我們執(zhí)行在上一節(jié)中錄制的Flight測試腳本。1打開錄制的Flight測試腳本。2設置運行選項。點擊“ToolOptions”打開設置選項對話框,選擇“Run”標簽頁,如下圖:如果要將所有畫面儲存在測試結果中,在“Save step screen capture to results”選項中選擇“Always”選項。一般情況下我們選擇“On error”或“On error and warning”表示在回放測試過程中出現問題時,才保存圖象信息。在這里我們?yōu)榱烁嗟恼故綫uickTest的功能,所以選擇使用“Always”選項。3在工具條上點擊“Run”按鈕,打開“Run”對話框:詢問要將本次的測試運行結果保存到何處。選擇“New Run results folder”單選按鈕,設定好存放路徑(在這使用預設的測試結果名稱)。4點擊“OK”按鈕開始執(zhí)行測試??梢钥吹絈uickTest按照你在腳本中錄制的操作,一步一步的運行測試,操作過程與你手工操作時完全一樣。同時可以在QuickTest的Keyword View中會出現一個黃色的箭頭,指示目前正在執(zhí)行的測試步驟。 2.3.2執(zhí)行腳本出現錯誤如果在執(zhí)行測試的時候出現錯誤,會顯示一個錯誤信息對話框?2.4 分析測試結果在測試執(zhí)行完成后,QuickTest會自動顯示測試結果窗口,如下圖所示:在這個測試結果窗口中分二個部分顯示測試執(zhí)行的結果n 左邊顯示Test results tree,以階層圖標的方式顯示測試腳本所執(zhí)行的步驟??梢赃x擇“+”檢查每一個步驟,所有的執(zhí)行步驟都會以圖示的方式顯示??梢栽O定QuickTest以不同的資料執(zhí)行每個測試或某個動作,每執(zhí)行一次反復稱為一個迭代,每一次迭代都會被編號(在上面的例子中只執(zhí)行了一次迭代)。n 右邊則是顯示測試結果的詳細信息。在第一個表格中顯示哪些迭代是已經通過的,哪些是失敗的。第二個表格是顯示測試腳本的檢查點,哪些是通過的,哪些是失敗的,以及有幾個警告信息。在上面的測試中,所有的測試都是通過的,在腳本中也沒有添加檢查點(有關檢查點的內容我們將在以后的課程中學習)。接下來我們查看QuickTest執(zhí)行測試腳本的詳細結果,以及選擇某個測試步驟時出現的詳細信息。在樹視圖中展開“Flight Iteration 1(Row 1)Action1 SummaryWelcome Mercury ToursFind a Flight: Mercury”,選擇“ fromPost:Select New York ”。在這個測試結果窗口中顯示三個部分,分別是:n 左邊是Test results tree:展開樹視圖后,顯示了測試執(zhí)行過程中的每一個操作步驟。選擇某一個測試步驟,會在右邊區(qū)域顯示相應的信息。n 右上方是Test results detail:對應當前選中的測試步驟,顯示被選取測試步驟執(zhí)行時的詳細信息。n 右下方是Active Screen:對應當前選中的測試步驟,顯示該操作執(zhí)行時應用程序的屏幕截圖。當選中test results tree上的網頁圖示,會在“Active Screen”中看到執(zhí)行時的畫面。當選中test results tree上的測試步驟(在某個對象上執(zhí)行某個動作),除了顯示當前時的畫面外,對象還會被粉色的框框框住。在上面的例子中,在“Active Screen”中點擊被框住的“Departing From”下拉菜單,會顯示其他的選項。 第三章建立檢查點通過上一章的學習,我們已經掌握了如何錄制、執(zhí)行測試腳本以及查看測試結果。但是我們只是實現了測試執(zhí)行的自動化,沒有實現測試驗證的自動化,所以這并不是真正的自動化測試。在這一章我們學習如何在測試腳本中設置檢查點,以驗證執(zhí)行結果的真確性?!皺z查點”是將指定屬性的當前值與該屬性的期望值進行比較的驗證點。這能夠確定網站或應用程序是否正常運行。當添加檢查點時, QuickTest 會將檢查點添加到關鍵字視圖中的當前行并在專家視圖中添加一條“檢查檢查點”語句。運行測試或組件時, QuickTest 會將檢查點的期望結果與當前結果進行比較。如果結果不匹配,檢查點就會失敗??梢栽凇皽y試結果”窗口中查看檢查點的結果。3.1QuickTest檢查點種類首先我們了解一下QuickTest支持的檢查點種類,如下表所示,QuickTest支持以下檢查點:檢查點類型說明范例標準檢查點檢查對象的屬性檢查某個按鈕是否被選取圖片檢查點檢查圖片的屬性檢查圖片的來源文件是否是正確的表格檢查點檢查表格的內容檢查表格內的內容是否是正確對的網頁檢查點檢查網頁的屬性檢查網頁加載的時間或是網頁是否含有不正確的鏈接文字/文字區(qū)域檢查點檢查網頁上或是窗口上出現的文字是否正確檢查登陸系統(tǒng)后時候出行登陸成功的文字圖像檢查點提取網頁和窗口的畫面檢查畫面是否正確檢查網頁或者網頁的一部分是否如期顯示數據庫檢查點檢查數據庫的內容時候正確檢查數據庫查詢的值是否正確XML檢查點檢查XML文件的內容XML檢測點有兩種XML文件檢測點和XML 應用檢測點。XML文件檢測點用于檢查一個XML文件;XML 應用檢測點用于檢查一個Web頁面的XML文檔。你可以在錄制測試的過程中,或錄制結束后,向測試腳本中添加檢測點。下面我們學習如何在測試腳本上建立檢查點。3.2創(chuàng)建檢查點 打開Flight測試腳本,將腳本另存為“Checkpoint”測試腳本。我們在Checkpoint測試腳本中創(chuàng)建4個檢查點,分別是:對象檢查、網頁檢查、文字檢查以及表格檢查。3.2.1 對象檢查通過向測試或組件中添加標準檢查點,可以對不同版本的應用程序或網站中的對象屬性值進行比較??梢允褂脴藴蕶z查點來檢查網站或應用程序中的對象屬性值。標準檢查點將對錄制期間捕獲的對象屬性的預期值,與運行會話期間對象的當前值進行比較。首先在Checkpoint測試腳本上添加一個標準檢查點,這個檢查點用以檢查旅客的姓氏。創(chuàng)建標準檢查點:1打開Checkpoint測試腳本。2選擇要建立檢查點的網頁在QuickTest的視圖樹中展開“Action1Welcome: Mercury ToursBook a Flight: Mercury ”,由于輸入使用者姓氏的測試步驟是 “passFirst0”這個步驟,所以要選擇這個步驟的下一個測試步驟,以便建立檢查點。如下圖所示:3建立標準檢查點對“Active Screen”中的First Name 編輯框點擊鼠標右鍵,顯示插入選擇點的類型。選擇“Insert Standard Checkpoint”選型,顯示“Object Selection-Checkpoint Properties”對話窗口:確保當前的焦點定位在“WebEdit: passFirst0”上,點擊“OK”按鈕,彈出如下的窗口:在檢查點屬性窗口會顯示將查點的屬性:n Name:將查點的名稱n Class:檢查點的類別,WebEdit表示這個檢查點是個輸入框n “Type”字段中的“ABC”圖標:表示這個屬性的值是一個常數對于每一個檢查點,QuickTest會使用預設的屬性最為檢查點的屬性,下表說明這些預設的屬性。屬性值說明html tagINPUTHTML原始碼中的INPUT標簽innertext在這個范例中,innertext只是空的,檢查點會檢查當執(zhí)行時這個屬性是不是空的namepassFirst0passFirst0是這個編輯框的名稱typetexttext是HTML原始碼中INPUT對象的類型value姓氏(錄制腳本是輸入的姓氏)在編輯框中輸入的文字我們接受預設的設定值,點擊“OK”。QuickTest會在選取的步驟之前建立一個標準檢查點。4在工具欄上點擊“Save”保存腳本。通過1-4的步驟,添加一個標準檢查點的操作就此結束。3.2.2 網頁檢查我們在Checkpoint測試腳本中再添加一個網頁檢查點,網頁檢查點會檢查網頁的鏈接以及圖像的數量時候與當前錄制時的數量一致。網頁檢查點只能應用于Web頁面中。創(chuàng)建網頁檢查:1選擇要建立檢查點的網頁展開“Action1Welcome: Mercury Tours”選擇“Book a Flight: Mercury”頁面,在“Active Screen”會顯示相應的頁面。2建立網頁檢查點在“Active Screen”上的任意地方點擊鼠標右鍵,選取“Insert Standard Checkpoint”,開啟“Object Selection-Checkpoint Properties”對話窗口(由于選擇的位置不同,對話窗口顯示被選取的對象可能不一樣)。 選擇最上面的“Page:Book a Flight: Mercury”,并點擊“OK”按鈕確認,將打開“Page Checkpoint Properties”對話框。當執(zhí)行測試時,QuickTest會檢查網頁的鏈接與圖片的數量,以及加載的時間,如同對話窗口上方所顯示的那樣。QuickTest頁檢查每一個鏈接的URL以及每一個圖片的原始文件是否存在。接受默認設定,點擊“OK”。QuickTest會在Book a Flight: Mercury 網頁上加一個網頁檢查。4在工具欄上點擊“Save”保存腳本。3.2.3 文字檢查在這一節(jié)中我們學習建立一個文字檢查點,檢查在“Flight Confirmation”網頁中是否出現“New York”?建立文字檢查點:1確定要建立檢查點的網頁展開“Action1Welcome: Mercury Tours”選擇“Flight Confirmation: Mercury”頁面,在“Active Screen”會顯示相應的頁面。2建立文字檢查點在“Active Screen”中選擇在“Departing”下方的“New York”。對選取的文字按下鼠標右鍵,并選取“Insert Text Checkpoint”打開“Text Checkpoint Properties”對話窗口。當“Checked Text”出現在下拉式清單中時,在“Constant”字段顯示的就是選取的文字。這也就是QuickTest在執(zhí)行測試腳本時所要檢查的文字。3點擊“OK”關閉窗口。QuickTest會在測試腳本上加上一個文字檢查點,這個文字檢查點會出現在“Flight Confirmation: Mercury”網頁下方。4在工具欄上點擊“Save”保存腳本。3.2.4 表格檢查通過添加表檢查點,可以檢查應用程序中顯示的表的內容。通過向測試或組件中添加表檢查點,可以檢查表的單元格中是否顯示了指定的值。對于 ActiveX 表,還可以檢查表對象的屬性。要添加表檢查點,可使用“檢查點屬性”對話框。在上面我們已經添加了標準、網頁、文字將查點,接下來我們在Checkpoint測試腳本中再添加一個表格檢查點,檢查“Book a Flight: Mercury”網頁上航班的價格。創(chuàng)建表格檢查點:1選取要建立檢查點的網頁展開“Action1Welcome: Mercury Tours”選擇“Book a Flight: Mercury”頁面,在“Active Screen”會顯示相應的頁面。2建立表格檢查點在“Active Screen”中,在第一個航班的價錢上“270”上點擊鼠標右鍵,選擇“Insert Standard Checkpoint”打開“Object Selection-Checkpoint Properties”對話窗口。剛打開時選取的是“WebElement:270”,這時要選擇上一層的WebTable對象,在這個例子中選擇“WebTable: New York to San Francisco”。點擊“OK”打開“Table Checkpoint Properties”對話窗口,顯示整個表格的內容。預設每一個字段都會被選擇,表示所有字段都會檢查,可以對某個字段雙擊,取消檢查字段,或者選擇整個欄和列,執(zhí)行選取或取消的動作。在每個字段的列標題上雙擊,取消勾選的圖標,然后再270字段處雙擊,這樣執(zhí)行時QuickTest只會對這個字段值作檢查。3點擊“OK”關閉對話框。QuickTest會在測試腳本中,“Book a Flight: Mercury”頁面下加上一個表格檢查點。4在工具欄上點擊“Save”保存腳本。3.3執(zhí)行并分析使用檢查點的測試腳本在上一節(jié)中,我們在腳本中添加了4個檢查點,現在,運行Checkpoint測試腳本,分析插入檢查點后,腳本的運行情況。1在工具欄上點擊“Run”按鈕,彈出如下窗口:這個頁面是詢問將本次測試結果保存在哪個目錄,選擇“New run results folder”單選按鈕,接受默認設置,點擊“OK”按鈕確認。這時QuickTest會按照腳本中的操作,一步一步進行測試,操作過程和手工操作是完全一樣。2當QuickTest執(zhí)行王測試腳本后,測試執(zhí)行結果窗口會自動開啟。如果所有的檢查點都通過了驗證,運行結果為Passed。如果有一個或多個檢查點沒有同過驗證,這運行結果顯示為Failed,如下圖所示:在上圖中可以看到,設置的4個檢查點都通過了驗證,下面我們看一下各個檢查點的驗證結果。n 驗證網頁檢查點在test results tree中展開“Checkpoint Iteration 1 (Row 1) Action1 Summary Welcome: Mercury Tours Book a Flight: Mercury”,并選擇“CheckpointBook a Flight: Mercury”。在右邊的“Details”窗口中,可以看到網頁檢查點的詳細信息,例如網頁檢查點檢查了哪些項目。由于所有網頁檢查的項目,其實際值與預期值相符,所以這個網頁檢查點的結果為Passed。n 驗證表格檢查點在test results tree中展開“Book a Flight: Mercury New York to San Francisco ”,并選擇“CheckpointNew York to San Francisco”。在“Details”窗口可以看到表格的詳細結果。也可以在下方看到整個表格的內容,被檢查的字段以黑色的粗體文字顯示,沒有檢查的字段以灰色文字顯示。如下圖所示:這個表格檢查點檢查的字段值,其實際值與預期值相符,所以檢查點的結果為Passed。n 驗證標準檢查點在test results tree中展開“Book a Flight: Mercury passFirst0”,并選擇“CheckpointpassFirst0”。在“Details”窗口可以看到標準檢查點的詳細結果,如檢查了哪些屬性,以及屬性的值。n 驗證文字檢查點在test results tree中展開“Checkpoint Iteration 1 (Row 1) Action1 Summary Welcome: Mercury Tours Flight Confirmation: Mercury”,并選擇“CheckpointNew York”。顯示如界面,因為文字檢查點的實際值與預期值相同,所以檢查點的結果為Passed。第四章參數化在測試應用程序時,可能想檢查對應用程序使用不同輸入數據進行同一操作時,程序是否能正常的工作。在這種情況下,你可以將這個操作重復錄制多次,每次填入不同的數據,這種方法雖然能夠解決問題,但實現起來太笨拙了。QuickTest提供了一個更好的方法來解決這個問題參數化測試腳本。參數化測試腳本包括數據輸入的參數化和檢測點的參數化。使用 QuickTest 可以通過將固定值替換為參數,擴展基本測試或組件的范圍。該過程(稱為參數化)大大提高了測試或組件的功能和靈活性??稍?QuickTest 中使用參數功能,通過參數化測試或組件所使用的值來增強測試或組件。參數是一種從外部數據源或生成器賦值的變量。QuickTest可以參數化測試或組件中的步驟和檢查點中的值。還可以參數化操作參數的值。如果希望參數化測試或組件中多個步驟中的同一個值,可能需要考慮使用數據驅動器,而不是手動添加參數。4.1參數化步驟和檢查點中的值錄制或編輯測試或組件時,可以參數化步驟和檢查點中的值??梢詤祷x定步驟的對象屬性的值。還可以參數化為該步驟定義的操作(方法或函數參數)的值。例如,應用程序或網站可能包含一個帶有編輯字段的表單,用戶可以在該編輯字段中鍵入用戶名。你可能希望測試應用程序或網站是否讀取該信息并將其正確顯示在對話框中??梢圆迦胍粋€對已登錄的用戶名使用內置環(huán)境變量的文本檢查點,以檢查顯示的信息是否正確。通過參數化檢查點屬性的值,可以檢查應用程序或網站如何基于不同的數據執(zhí)行相同的操作。例如,如果要測試 Mercury Tours 示例網站,可以創(chuàng)建一個檢查點,以便檢查預訂機票后該機票是否被正確預訂。假設您需要檢查針對各種不同目的地所預訂的航班是否正確??梢詾槟康牡匦畔⑻砑右粋€數據表參數,而不是為每個目的地分別創(chuàng)建帶有單獨檢查點的不同測試或組件。對于測試或組件的每次循環(huán),QuickTest 都會針對不同目的地檢查航班信息。4.1.1 參數化對象和檢查點的屬性值可以在“對象屬性”或“對象庫”對話框中參數化對象的一個或多個屬性的值??梢栽凇皺z查點屬性”對話框中參數化檢查點的一個或多個屬性的值。采用下列方式可以打開“對象屬性”對話框或“檢查點屬性”對話框:n 選擇“步驟” “對象屬性”,或者右鍵單擊某個步驟并選擇“對象屬性”。將打開“對象屬性”對話框。n 選擇“工具” “對象庫”,單擊“對象庫”工具欄按鈕,或者右鍵單擊包含該對象的操作或組件,然后選擇“對象庫”。將打開“對象庫”對話框。n 選擇“步驟” “檢查點屬性”,或者右鍵單擊該檢查點并選擇“檢查點屬性”。然后在對話框的“配置值”區(qū)域中選擇參數,如果該值已經參數化,則“參數”框將顯示該值的當前參數定義。如果該值尚未參數化,則“參數”框將顯示該值的默認參數定義。4.1.2 參數化操作的值如果步驟中使用的方法或函數具有參數,則可以根據需要參數化該參數值。例如,如果操作使用 Click方法,則可以參數化x參數、y參數或這兩者的值。在關鍵字視圖中選擇已參數化的值時,將顯示該參數類型的圖標。例如,在以下片段中,已將Set 方法的值定義為隨機數字參數。每次運行測試或組件時,QuickTest 都會在 creditnumber編輯框中輸入一個隨機數字值。可以使用視圖中的“值”列中的參數化圖標來參數化操作值。單擊參數化圖標,打開“值配置選項”對話框,將顯示當前定義的值。選擇“參數”。如果該值已經參數化,則“參數”部分將顯示該值的當前參數定義。如果該值尚未參數化,則“參數”部分將顯示該值的默認參數定義。單擊“確定”接受顯示的參數語句并關閉該對話框。選擇一個尚未參數化的值時, QuickTest 會為該值生成默認參數定義。下表描述了如何確定默認參數設置:執(zhí)行參數化時條件默認參數類型默認參數名操作中的步驟或檢查點的值至少在當前操作中定義了一個輸入操作參數操作參數在“操作屬性”對話框的“參數”選項卡中顯示第一個輸入參數嵌套操作的輸入操作參數值至少為調用該嵌套操作的操作定義了一個輸入操作參數操作參數在調用操作的“操作屬性”對話框的“參數”選項卡中顯示第一個輸入參數頂層操作調用的輸入操作參數值至少為測試定義了一個輸入參數測試參數在“測試設置”對話框的“參數”選項卡中顯示第一個輸入參數組件中的步驟或檢查點的值至少為該組件定義了一個輸入參數組件參數在“業(yè)務組件設置”對話框的“參數”選項卡中顯示第一個輸入參數如果上述相關條件不為真,則默認參數類型為“數據表”。如果接受了默認參數詳細信息, QuickTest 將用基于選定值的名稱新建一個數據表參數。4.2 參數種類QuickTest有四種類型的參數:n 測試、操作或組件參數,通過它可以使用從測試或組件中傳遞的值,或者來自測試中的其他操作的值。為了在特定操作內使用某個值,必須將該值通過測試的操作層次結構向下傳遞到所需的操作。然后,可以使用該參數值來參數化測試或組件中的步驟。例如,假設要使用從運行(調用)測試的外部應用程序傳遞到測試中的某個值來參數化 Action3 中的一個步驟??蓪⒃撝祻臏y試級別傳遞到 Action1 (頂層操作)至 Action3 (Action1 的子操作),然后使用該“操作”輸入參數值(從外部應用程序傳遞的值)來參數化所需的步驟。n 數據表參數,通過它可以創(chuàng)建使用您所提供的數據多次運行的數據驅動的測試(或操作)。在每次重復(或循環(huán))中, QuickTest 均使用數據表中不同的值。例如,假設您的應用程序或網站包含一項功能,用戶可以通過該功能從成員數據庫中搜索聯(lián)系信息。當用戶輸入某個成員的姓名時,將顯示該成員的聯(lián)系信息,以及一個標記為“查看 的照片”的按鈕,其中是該成員的姓名??梢詤祷粹o的名稱屬性,以便在運行會話的每次循環(huán)期間,QuickTest 可標識不同的照片按鈕。n 環(huán)境變量參數,通過它可以在運行會話期間使用來自其他來源的變量值。這些變量值可能是您所提供的值,或者是 QuickTest 基于您選擇的條件和選項而生成的值。例如,可以讓 QuickTest 從某個外部文件讀取用于填寫 Web 表單的所有值,或者可以使用 QuickTest 的內置環(huán)境變量之一來插入有關運行測試或組件的計算機的當前信息。n 隨機數字參數,通過它可以插入隨機數字作為測試或組件的值。例如,要檢查應用程序處理大小機票訂單的方式,可以讓 QuickTest 生成一個隨機數字,然后將其插入到“票數”編輯字段中。4.2.1 使用數據表參數可以通過創(chuàng)建數據表參數來為參數提供可能的值列表。通過數據表參數可以創(chuàng)建使用所提供的數據多次運行的數據驅動測試、組件或操作。在每次重復中,QuickTest均使用數據表中不同的值。例如,考慮 Mercury Tours 示例網站,通過該網站可預訂航班請求。要預訂航班,需要提供航班路線,然后單擊“繼續(xù)”按鈕。該網站將針對請求的路線返回可用的航班??赏ㄟ^訪問網站并錄制大量查詢的提交來執(zhí)行該測試。這是一個既費時又費力的低效解決方案。通過使用數據表參數,可以連續(xù)對多個查詢運行測試或組件。參數化測試或組件時,需要首先錄制訪問網站并針對所請求的一條路線來檢查可用航班的步驟。然后將錄制的路線替換為某個數據表參數,并在數據表的全局表中添加自己的數據集,每條路線一個。新建數據表參數時,將在數據表中添加新的一列,并將參數化的當前值放在第一行中。如果要對值進行參數化并選擇現有的數據表參數,則將保留所選參數的列中的值,并且這些值不會被參數的當前值覆蓋。表中的每個列都表示單個數據表參數的值列表。列標題是參數名。表中的每一行都表示 QuickTest 在測試或組件的單次循環(huán)期間為所有參數提交的一組值。運行測試或組件時, QuickTest 將針對表中的每一行數據運行一次測試或組件循環(huán)。例如,如果測試在數據表的全局表中有十行,則運行十次循環(huán)。在上面的例子中,當運行測試時,QuickTest降為每一個路線分別提交一個查詢。4.2.2 使用環(huán)境變量參數QuickTest 可以插入環(huán)境變量列表中的值,該列表是可通過測試訪問的變量和相應值的列表。在測試運行的整個過程中,無論循環(huán)次數是多少,環(huán)境變量的值始終保持不變,除非在腳本中以編程方式更改變量的值。QuickTest有以下三種環(huán)境變量:用戶定義的內部環(huán)境變量、用戶定義的外部環(huán)境變量以及內置環(huán)境變量。用戶定義的內部環(huán)境變量-在測試內定義的變量。這些變量與測試一起保存,并且只能在定義這些變量的測試內訪問。在“測試設置”對話框或“參數選項”對話框的“環(huán)境”選項卡中,可以創(chuàng)建或修改測試中用戶定義的內部環(huán)境變量。用戶定義的外部環(huán)境變量-在活動外部環(huán)境變量文件中預定義的變量??筛鶕枰獎?chuàng)建任意多的文件,并為每個測試選擇一個適當的文件,或者更改用于每個測試運行的文件。內置環(huán)境變量-表示有關測試和運行測試的計算機的信息的變量,例如測試路徑和操作系統(tǒng)。從所有測試和組件中都可以訪問這些變量,并且它們都被指定為只讀變量4.2.3 使用隨機數字參數當選擇“隨機數字”作為參數類型時,可以通過“參數選項”對話框將參數配置為使用隨機數字。“值配置選項”對話框的“參數”部分與“參數選項”對話框非常相似。數字范圍-指定用于生成隨機數字的范圍。默認情況下,隨機數字范圍介于 0 和100 之間??赏ㄟ^在“從”和“到”框中輸入不同的值來修改此范圍。該范圍必須介于 0 和 2147483647(包含)之間。名稱-指定參數的名稱。通過為隨機參數指定名稱可以在測試中多次使用同一個參數。可以選擇現有的命名參數,或者通過輸入新的描述性名稱來新建命名參數。生成新隨機數字-定義命名隨機參數的生成計時。選中“名稱”復選框時會啟用該框。可以選擇下列選項之一:n 為每次操作循環(huán):在每次操作循環(huán)結束時生成一個新數字。n 為每次測試循環(huán):在每次全局循環(huán)結束時生成一個新數字。n 為整個測試運行生成一次:第一次使用參數時生成一個新數字。在整個測試運行中,對參數使用同一個數字。4.3 參數化測試腳本4.3.1 定義參數在上面的課程中我們學習了參數的種類以及參數化步驟和檢查點中的值,現在我們使用Checkpoint腳本,在測試腳本中,紐約是個常數值,也就是說,每次執(zhí)行測試腳本預定機票時,出發(fā)地點都紐約,現在,我們將測試腳本中的出發(fā)地點參數化,這樣,執(zhí)行測試腳本時就會以不同的出發(fā)地點去預定機票了。1首先,我們打開Checkpoint測試腳本,將腳本另存為“Parameter”,然后選擇要參數化的文字:在視圖樹中展開“Action1Welcome: Mercury ToursFind a Flight: Mercury ”。2在視圖樹中選擇“fromPort”右邊的“Value”字段,然后再點擊參數化圖標,開啟“Value Configuration Options”對話窗口:3設置要參數化的屬性,選擇“Parameter”選擇項,這樣就可以用參數值來取代“New York”這個常數了,在參數中選擇“Data Table”選項,這樣這個參數就可以從QuickTest的Data Table中取得,將參數的名字改為“departure”。4點擊“OK”確認,QuickTest會在Data Table中新增departure參數字段,并且插入了一行New York的值,New York 會成為測試腳本執(zhí)行使用的第一個值。參數化以后可以看到樹視圖中的變化,在參數之前,這個測試步驟顯示“foomPost Select New York”,現在,這個步驟變成了“foomPost Select Data Table(departure,dtGlobalSheet)”。而且當點擊Value字段時,Value字段會顯示如圖所示:,表示此測試步驟已經被參數化,而且其值從Data Table中的departure字段中獲得。5在departure 字段中加入出發(fā)點資料,使QuickTest可以使用這些資料執(zhí)行腳本。在departure字段的第二行,第三行分別輸入:Portland、Seattle。6保存測試腳本。4.3.2 修正受到參數化影響的步驟當測試步驟被參數化以后,有可能會影響到其它的測試步驟也要參數化,例如我們?yōu)榱蓑炞C在“Flight Confirmation”網頁中是否出現“New York”(第三章創(chuàng)建文字檢查點),在網頁上添加了一個文字檢查點。那么,就要對出發(fā)地的文字檢查點作參數化,以符合對出發(fā)地點參數化的預期結果。修正文字檢查點,首先在樹視圖中,展開“Action1Welcome: Mercury ToursFlight Confirmation: Mercury”頁面,然后點擊鼠標右鍵,選擇“Checkpoint Properties”,打開“Text Checkpoint Properties”對話窗口:在“Checked Text”的Constant字段中顯示為“New York”,表示測試腳本在每次執(zhí)行時,這個文字檢查點的預期值都為“New York”。我們選擇Parameter,點擊旁邊的“Param
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 超全結婚準備清單及結婚流程
- 2025年小學教師實習報告范文-1
- 2025年風電變流器柜體系統(tǒng)合作協(xié)議書
- 2025年輕質建筑材料及制品項目發(fā)展計劃
- 貴州省仁懷市2025屆物理高二第二學期期末學業(yè)水平測試試題含解析
- 新形勢下如何進行高效的專業(yè)性汽車工程師教育
- 心理學在藝術教育中的創(chuàng)新應用
- 教育技術為特殊兒童創(chuàng)造更好的學習環(huán)境
- 四川省綿陽市東辰高中2025年高一物理第二學期期末復習檢測模擬試題含解析
- 商業(yè)場景下教育培訓品牌的營銷全案
- 汽車構造試題及答案
- 2025至2030中國摩擦材料及制動產品行業(yè)市場現狀分析及競爭格局與投資發(fā)展報告
- 11人制足球競賽規(guī)則
- 放射職業(yè)衛(wèi)生培訓課件
- 小學數學教學中如何培養(yǎng)學生數感
- 親子消防演練活動方案
- 地理●廣東卷丨2024年廣東省普通高中學業(yè)水平選擇性考試地理試卷及答案
- JG/T 157-2009建筑外墻用膩子
- 工程中間費協(xié)議書
- 燃氣開戶過戶協(xié)議書
- DBJ50-T-200-2024 建筑樁基礎技術標準
評論
0/150
提交評論