版權聲明:本文為部落客chszs的原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/chszs/article/details/1583655
WinRunner測試設計(2)
1、使用Context Sensitive Recording來建立測試
它根據GUI對象來建立測試。在錄制期間,WinRunner識别每一個你點選的GUI對象(例如視窗,按鈕或清單)和執行的操作(如拖放,點選,選擇)。
例如:你在一個Open對話框中點選Open按鈕,WinRunner将記錄如下:
button_press("Open");
彈出的對話框每一次的位置有可能不同,但你不必擔心,因為WinRunner能正确識别它。
要記住Context Sensitive測試總是連同GUI map和GUI map檔案一起工作的。
下面的例子說明了測試腳本和GUI map的連接配接。它還說明了邏輯名和實體描述之間的連接配接。假定你錄制一個測試,你要列印一個readme檔案,通過在file菜單中選擇print指令來打開對話框,然後點選OK按鈕。腳本如下:
#Activate the Readme.doc-WordPad window.
win_activate("Readme.doc-WordPad");
#Direct the Readem.doc-WordPad window to receive input.
set_window("Readme.doc-WordPad",10);
#Choose File>Print.
menu_select_item("File;Print...Ctrl+P");
#Direct the Print window to receive input.
set_window("Print",10);
#Click the OK button.
button_press("OK");
WinRunner試着把屬性清單和它們的值(為涉及到的每一個對象)寫入GUI map的描述中。
當打開GUI map和高亮顯示的對象時,你能看到相應的實體描述。
WinRunner為其它視窗和對象寫下面的描述進GUI map中:
File menu:{class:menu_item,label:File,parent:None}
Print command:{class:menu_item,label:"Print...Ctrl+P",parent:File}
Print window:{class:window,label:Print}
OK button:{class:push_button,label:OK}
WinRunner還能為每一個對象配置設定一個邏輯名。當WinRunner運作測試時,它讀入測試腳本的每個對象的邏輯名,并在GUI map中引用它的實體描述。WinRunner使用這個描述來查找被測試應用程式的對象。
要錄制Context Sensitive mode的測試:
1)選擇Test菜單下Record-Context Sensitive,或者點選Record-Context Sensitive按鈕;
2)用鍵盤和滑鼠執行所計劃的測試;
插入檢查點和同步點作為選擇适當的指令所需,或從Insert菜單:GUI檢查點,Bitmap檢查點,Database檢查點等。
3)停止錄制,點選Test菜單下的Stop Recording,或者點選Stop。
WinRunner沒有為你的對象錄制适當的TSL語句:
1)增加未裝入的支援對象插件;
例如:對于HTML對象,你必須載入WebTest插件。
2)對象是一個定制類對象。
如果定制對象和标準對象相似,你可以map定制類到标準類;
你可以增加一個定制GUI對象類;
你可以建立定制錄制和可執行函數。
WinRunner不能從HTML頁面中讀取文本:
1)WebTest插件未能安裝;
2)在HTML架構或table中,WinRunner不能識别作為原始輸入的文本;
2.1)使用Insert菜單下的Get Text下的From Selection(Web only)指令來檢索HTML頁面上的文本。
對于一個架構,WinRunner将插入一個Web_frame_get_text語句;
對其它GUI對象類,WinRunner将插入一個web_obj_get_text語句。
2.2)使用Insert菜單下的Get Text下的Web Text Checkpoint指令來檢測是否一個指定的文本字元串在HTML頁面上存在。
對于一個架構,WinRunner将插入一個Web_frame_text_exists語句;
對于其它GUI對象類,WinRunner将插入一個web_obj_text_exists語句。