winrunner的使用_第1頁
winrunner的使用_第2頁
winrunner的使用_第3頁
winrunner的使用_第4頁
winrunner的使用_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、WinRunner測試工具的運用創(chuàng)建GUI map創(chuàng)建測試腳本同步點和檢查點使用TSL撰寫測試腳本建立數據驅動測試腳本建立批次測試 WinRunner介紹 WinRunner(簡稱WR)是一種基于MS Windows的功能測試工具。 WR可以幫助用戶自動處理從測試開發(fā)到測試執(zhí)行的整個過程,可以創(chuàng)建可修改和可復用的測試腳本,而不用擔心軟件功能模塊的變更。樣本軟件和測試套件 WinRunner 7.6 中附帶了一個用于航班預定的樣本軟件Flight Reservation。該樣本軟件有兩個版本Flight4A 和Flight4B,其中 Flight4A 版本是正常的軟件, Flight4B 版本中

2、則有意識加入了一些錯誤。 樣本軟件的登錄:可以使用任意用戶名(長度至少為4)登錄Flight Reservation軟件,密碼為Mercury。 WinRunner和測試套件的其他工具一起提供整個測試流程的解決方案:測試計劃、測試開發(fā)、GUI負載測試、錯誤跟蹤以及多用戶系統(tǒng)客戶端負載測試。常用測試套件有: TestDirector(測試管理工具) LoadRunner(用于Client/Server結構軟件的測試工具) 使用WinRunner進行自動化測試的好處WinRunner的測試模式 以WinRunner執(zhí)行測試,就與人工測試一樣,WinRunner 會仿真鼠標的動作與鍵盤的輸入。當在軟

3、件操作中點擊GUI(圖形用戶界面)對象時,WR會使用一種類C的測試腳本語言 (TSL) 生成一個測試腳本。測試人員可以用手工編程的方法編輯這個腳本。 WinRunner包括的功能生成器 (Function Generator) 可以幫助用戶快速簡便的在已錄制的測試中添加功能。 WinRunner有兩種錄制測試的模式: (1)環(huán)境判斷模式(Context Sensitive Mode) (2)模擬模式(Analog Mode)環(huán)境判斷模式 環(huán)境判斷模式根據用戶選取的GUI對象將用戶對軟件的操作動作錄制下來,并忽略這些對象在屏幕上的物理位置。每一次對被測軟件進行操作,測試腳本會描述用戶選取的對象和

4、操作動作。 當進行錄制時間,WR會對選取的每個對象做唯一描述并寫入GUI map(映射) 中。GUI map和測試腳本被分開保存和維護。當軟件用戶界面發(fā)生變化時,用戶只需更新GUI map。這樣一來,環(huán)境判斷模式的測試腳本將非常容易地被重復使用。 執(zhí)行測試時只需要回放測試腳本?;胤艤y試腳本的過程,就是WR模擬一個用戶使用鼠標選取對象、用鍵盤輸入數據的操作過程。 WR從GUI map中讀取對象描述,并在被測軟件中查找符合這些描述的對象。模擬模式 模擬模式記錄鼠標點擊、鍵盤輸入和鼠標在二維平面上(x軸、y軸)的精確運動軌跡。執(zhí)行測試時,WR讓鼠標根據軌跡運動。 模擬模式對于那些需要追蹤鼠標運動的測

5、試非常有用,例如畫圖軟件。 WinRunner 的測試流程 創(chuàng)建GUI map 建立測試腳本 對測試腳本除錯(debug) 在新版應用程序執(zhí)行測試腳本 檢視測試結果 回報缺陷(defect)1 創(chuàng)建GUI map 了解WinRunner是如何識別GUI對象的 掌握如何使用GUI spy查看GUI對象的屬性 掌握兩種GUI map模式1.1 WR如何識別GUI對象 一般的Windows應用程序,通常是由窗口、按鈕、菜單等組成,這些在WinRunner中通稱為。WR會通過學習這些GUI對象的屬性來識別GUI對象。 WR把學來的這些GUI對象的屬性保存在GUI Map文件中(GUI Map是一個或多

6、個GUI Map文件的總和) 。當執(zhí)行測試時,WR使用GUI Map定位對象:先從GUI map讀取有關對象的描述,然后尋找有相同屬性的對象。 GUI對象的屬性包括:class, label, width, height, handle以及enable等。WR只會記錄最少但可組合成唯一的屬性來識別GUI對象。 例如,當WR識別一個“OK”按鈕時,會記錄這個按鈕所屬的窗口(如屬于OPEN窗口),隸屬的class(如push_button)和按鈕的label(如OK)來識別該按鈕。而其他的width, height, handle以及enable等屬性都不會被用到。 腳本中如何識別腳本中如何識別G

7、UI對象對象 在測試腳本中,WR使用邏輯名(Logic name) 定義對象:如“Print”定義Print dialog box,“OK” 定義OK button。對象的邏輯名由它的類(Class) 決定。多數情況下,邏輯名是對象的卷標(Label)。 邏輯名實際上是對象物理描述(物理描述是 包含一個對象物理屬性的清單)的簡稱。 邏輯名和物理描述一起作用,確保每個GUI對象有自身唯一的標識。1.2 如何學習GUI對象的屬性 WR提供一個叫的工具,可以用來學習單個GUI對象的屬性,也可用于查看某個GUI對象有哪些屬性以及WR是以哪些屬性來識別此GUI對象。 使用在錄制腳本前讓WR一次性的學習被

8、測軟件中所有的GUI對象。如果GUI發(fā)生變化,再用GUI Map Editor來單獨學習發(fā)生變化的窗體或對象,并以此更新GUI Map。1.3 GUI Map的兩種工作模式 當WR識別完GUI對象后,會將GUI對象的邏輯名和物理描述存儲在GUI Map File中。WR提供兩種GUI Map的工作模式:和。因此,用戶在創(chuàng)建測試前應先確定要使用哪種GUI Map模式。:每次新建測試就自動創(chuàng)建一個GUI Map File。WR會在用戶保存測試、打開測試時,自動保存和自動加載GUI Map File。:多個測試腳本共享同一個GUI Map File,用戶要手工保存和加載使用的GUI Map File

9、。 操作演示 兩種模式的切換 兩種模式下GUI map的生成兩種模式的比較GUI Map TestGlobal GUI Map File優(yōu)點1.每個測試都有自帶的GUI Map File2.使用方便,保存和加載GUI Map File都是自動完成3.作為單次測試,容易維護和更新(就是重新錄一次)1.如果對象或窗體的屬性改變,只需要修改在GUI Map File里對應的屬性2.容易維護和更新(無需重新錄制)缺點一旦軟件GUI變更,每個測試的GUI Map File都要重新錄制要記住保存和加載使用的GUI Map File建議如果用戶對WR沒有經驗或被測軟件的GUI已經固定,可以采用這種模式。如果

10、用戶是有經驗的WR使用者或被測軟件的GUI經常變化,最好使用這種模式。2 創(chuàng)建測試腳本 掌握兩種錄制模式:Context Sensitive和Analog 了解如何閱讀測試腳本內容 執(zhí)行測試腳本并分析其結果2.1 WR的兩種錄制模式 環(huán)境判斷模式(Context Sensitive Mode) 環(huán)境判斷模式是以GUI對象為基礎的。 以按下登錄界面中“OK”按鈕為例:測試腳本中會顯示為:在執(zhí)行時,WR會找尋“OK”按鈕,并按下它。Button_press(“OK”); 模擬模式(Analog Mode)執(zhí)行測試時,WR讓鼠標根據軌跡運動。 同樣以按下登錄界面中“OK”按鈕為例:執(zhí)行測試時會通過控

11、制鼠標的移動完成測試。Move_locator_track(1); 鼠標移動Mtype(“-”); 按下鼠標左鍵Mtype(“+”); 放開鼠標左鍵 兩種錄制模式的區(qū)別實驗一 GUI spy 打開flight4a的應用程序 開啟GUI Spy 點選【Tools】-【GUI Spy】 利用GUI SPY繼續(xù)完成登錄界面中所有GUI對象的學習 檢視GUI Spy顯示的信息 了解WinRunner是如何用最少的屬性來識別GUI對象實驗二 RapidTest Script Wizard 打開flight4a的應用程序 利用RapidTest Script Wizard對“flight reservat

12、ion”窗口的所有GUI對象進行學習,并生成名為“flight4a.gui”的gui map文件實驗三 錄制測試腳本 以context sensitive模式錄制 在Flight Reservation中新增一筆訂單 在“open order”窗口打開新增的訂單 選擇“fax order” 輸入fax number 勾選send Signature with order 在簽名欄中簽名 清除簽名 切換為Analog模式繼續(xù)錄制 在清空后的簽名欄中簽名 切換回context sensitive模式 選擇發(fā)送目的:比較兩種錄制模式的區(qū)別,熟練使用兩種模式錄制腳本實驗四 執(zhí)行測試 關閉flight4

13、a,打開flight4b 選擇“run from top” 檢查測試結果 Winrunner中有三種執(zhí)行模式可供選擇: verify::此模式下能執(zhí)行測試以檢查應用程序的功能,且能存儲測試結果 Debug:此模式下能檢查測試腳本執(zhí)行是否正確,并對腳本進行調試 Update:此模式下允許更新檢查點的預期值3 同步點和檢查點 同步點 GUI對象檢查點 圖像檢查點 文字檢查點3.1 同步點 執(zhí)行測試時,被測程序每次操作的響應時間不一定,時快時慢,導致執(zhí)行輸入動作的時間也需要等待。如 從數據庫取得數據 等待窗口開啟 等待狀態(tài)列成為100% 增加WinRunner的預設等待時間 在測試腳本中插入 同步點

14、用來處理測試運行中可能發(fā)生的時間控制和窗體位置等問題。當WR執(zhí)行到同步點時,會暫停執(zhí)行以等待應用程序某些狀態(tài)的改變后,再繼續(xù)執(zhí)行腳本。3.2 GUI檢查點 檢查點可以讓用戶比較軟件當前版本和以前版本的區(qū)別。錄制測試時,在用戶需要檢查軟件反應的地方插入檢查點;插入檢查點后,WR會收集一套性能指標,在測試運行時對其一一驗證。 Winrunner中通過建立GUI檢查點,檢查GUI對象的屬性,并以此判定該對象的功能是否正常。插入GUI檢查點 檢查單個屬性的值:點選Insert-GUI Checkpoint -For Single Property 檢查單個對象:點選Insert-GUI Checkpo

15、int- For Object/Window 檢查一個窗體中的多個對象:點選Insert-GUI Checkpoint- For Multiple Objects 插入檢查點后,腳本中將加入obj_check_gui 語句或win_check_gui語句。3.3 位圖檢查點 位圖檢查點是做一個窗體或區(qū)域的截圖,并把這張圖片和以前的版本進行比較,檢查是否存在差異。 Winrunner提供三種方式建立圖像檢查點: 屏幕區(qū)域:以鼠標拖拉方式決定圖像檢查點的區(qū)域 窗口:以整個窗口作為圖像檢查點的區(qū)域 GUI物件:以整個GUI對象作為圖像檢查點的區(qū)域3.4 文本檢查點 文本檢查點讀取GUI對象和位圖中的

16、文本,使你可以檢驗文本內容。3.5 數據庫檢查點 數據庫檢查點檢查一定數量的行和列組成的集合(這個集合由你在數據庫中創(chuàng)建)的內容。實驗五 同步點 在Flight Reservation中建立一張新的訂單,并新增到數據庫中 變更預設等待時間的設定 如何識別何種問題需要以同步點解決 加入同步點 執(zhí)行測試腳本 檢視結果具體步驟 錄制測試腳本 1、啟動WR,并加載GUI Map File (flight4a.gui) 2、啟動Flight 4A,并登錄 3、開始以Context Sensitive模式錄制測試腳本 4、建立新的訂單 5、填入航班與旅客資料 6、點選“Insert Order”,將訂單新

17、增到數據庫中 7、點選“Delete Order”,刪除剛才新增的訂單 8、停止錄制,并保存測試腳本為lesson5 變更預設等待時間的設定 1、點選Tools-General Options 2、選取Run-Settings 3、將10000msec改成1000msec(1秒) 4、按下“OK” 如何識別何種問題需要以同步點解決 1、啟動WR,并加載剛保存的lesson5腳本 2、點選“Run From Top” 3、暫停執(zhí)行 4、按下“Pause” 加入同步點 1、確認Flight Reservation已經啟動 2、確認WR已經啟動,并加載lesson5測試腳本與GUI Map File

18、 3、將光標移動到要插入同步點的位置 4、插入同步點:點選Insert-Synchronization Point -For Object/Window Bitmap 5、手動將1秒鐘改成10秒鐘: obj_wait_bitmap(Insert Done., Img1, 10) 6、保存測試腳本 7、如果在Global GUI Map File模式下,記得保存新的GUI對象實驗六 GUI檢查點 插入GUI檢查點 1、啟動WR,并加載GUI Map File (flight4a.gui) 2、啟動Flight 4A,并登錄 3、開始以Context Sensitive模式錄制測試腳本 4、打開“

19、Open Order”窗口 5、對“Order NO.”check box插入檢查點 6、輸入訂單編號4 7、對“Order NO.”check box插入另一個檢查點 8、對“Customer Name”check box插入檢查點 9、點選“OK”打開訂單10、停止錄制,并保存測試腳本 打開flight4a執(zhí)行測試 檢視測試結果 用鼠標雙擊“end GUI checkpoint”檢查是否通過;若未通過是哪個屬性不符合 打開flight4b執(zhí)行測試并檢視測試結果 對比兩個版本中的測試結果,體會什么時候應該使用GUI檢查點,以及GUI檢查點能幫助我們完成什么功能。實驗七 位圖檢查點 錄制測試腳

20、本 以context sensitive模式錄制 輸入fax number 勾選send Signature with order 切換為analog模式錄制 在簽名欄中簽名 切換回context sensitive模式錄制 建立圖像檢查點 【insert】-【bitmap checkpoint】-【for Object/window】 清除簽名 再建立圖像檢查點 關閉 訂單窗口 停止錄制 存儲測試腳本 打開flight4a,執(zhí)行測試腳本,檢查測試結果 打開flight4b,執(zhí)行測試腳本,檢查測試結果 對比兩個版本中的測試結果,體會什么時候應該使用位圖檢查點,以及位圖檢查點能幫助我們完成什么功

21、能。4 使用TSL撰寫測試腳本 如何在錄制好的測試腳本中以可視化的方式加入函數 如何在測試腳本中手動加入腳本代碼 如何除錯4.1 以可視化方式加入函數 當你在錄制測試腳本時,你對應用程序的所有操作,不管是點選按鈕或是鍵盤輸入,WinRunner會產生一行一行的測試腳本,這每一行的測試腳本稱為TSL(Test Script Language) WinRunner提供可視化工具“函數產生器(Funcation Generator)”,幫助在測試腳本中快速插入函數 函數產生器(Function Generator)的兩種使用方式: 直接點選GUI對象,讓WinRunner為你建議合適的函數,然后再把

22、函數加入測試腳本中 直接從函數清單中挑選需要使用的函數 除了使用和函數外,TSL也提供一般程序語言具備的元素,如條件判斷,循環(huán),表達式等。 取得某個字段的值 函數產生器開啟并建議使用edit_get_text函數。 按下【Paste】按鈕將函數插入測試腳本中選取【Insert】-【Function】-【For Object/Window】或是按下工具欄上的 按鈕對象名對象名變量名變量名4.2 在測試腳本中手動加入代碼 在需要加入代碼的地方插入空白行 加入如下腳本 加上批注 選取【Edit】-【Comment】 直接在代碼中以 開始作為批注動作名稱動作名稱0:通過:通過1:失?。菏≡谠赪R中對

23、此動中對此動作的顯示信息作的顯示信息4.3 測試腳本除錯 WinRunner提供了除錯的工具。通過工具可以執(zhí)行: 逐行執(zhí)行測試腳本 設定斷點 以watch list檢查變量的值 選擇以 模式執(zhí)行測試腳本 測試結果存儲在debug目錄中 每次以 模式執(zhí)行測試后,WinRunner會覆寫上次的debug執(zhí)行結果實驗八 錄制測試腳本 開啟訂單 訂單 選擇【Cancel】關閉 訂單窗口 使用函數產生器在測試腳本中插入函數 依次獲取訂單窗口上的【#Tickets】,【Ticket Price】,【Total】字段的值 在測試腳本中加入判斷式 對測試腳本除錯 在Flight4B中執(zhí)行測試腳本5 建立數據驅

24、動測試腳本 如何使用數據驅動精靈建立數據驅動測試腳本 學習使用regular expression作為對象名稱 如何讓測試腳本重復執(zhí)行5.1 建立數據驅動測試腳本 當你建立好測試腳本后,可能會想用多組用多組不同的數據去執(zhí)行測試腳本不同的數據去執(zhí)行測試腳本。為達到此目的,可以將測試腳本轉換為數據驅動測試數據驅動測試腳本腳本,并建立一個數據表提供測試所需的多組數據。 加上開啟及關閉數據表的指令 加上循環(huán)并讀取數據表的每一筆數據 將錄制的固定值與檢查點的值參數化為數據表的字段值 使用數據驅動精靈(Data Driver Wizard) 手動修改測試腳本數據驅動精靈的使用 選取【Table】-【Data Driver Wizard】 建立數據表輸入數據輸入數據表的名稱表的名稱輸入該數據輸入該數據表在腳本中表在腳本中的變量名的變量名 設定參數化選項【Add statements to create a da

溫馨提示

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

評論

0/150

提交評論