SilkTest入門快打1-錄制回放
本人使用SilkTest進行自動化測試已有一段時間,有一些經驗想和初學者們分享,所以就嘗試編寫這個SilkTest入門快打系列教程。編寫該教程有兩個目的,首先,希望能夠告訴初學者如何快速的上手SilkTest而不必關心很多SilkTest的細節。實際上,SilkTest是一個強大的軟件測試工具,應用面很廣,使用它的人很少能夠面面俱到把所有SilkTest提供的功能都用到,根據28原理,絕大多數人只用到了其中20%的功能,所以我希望這個教程能夠覆蓋SilkTest最常被用到的那部分功能,讓初學者能夠盡快將SilkTest使用起來。其次,我工作中主要是用SilkTest對C/S結構的軟件進行測試,一直沒有機會用SilkTest來測試B/S的應用,所以希望能藉此機會,在編寫該系列教程的時候同時更多地學習如何使用SilkTest。
“天下功夫,唯快不破”,讓我們趕緊開始SilkTest的快打旅程吧!
開始之前,請確定你的機器上安裝了SilkTest軟件,我裝的是2006試用版,如果你的版本和我的不同,那也沒什么關系,因為不同版本SilkTest的腳本語法基本上沒有變化。
今天這一節,主要教你如何開始一個簡單的測試。我們將要做的是測試WindowsXP自帶的計算器,需要做的首先是新建一個測試項目,然后錄制
一段測試腳本并指定測試點,最后運行該測試觀察測試結果。
1、新建測試項目
首先打開你的SilkTest軟件,然后從菜單里選擇“File->New Project”,這時會彈出一個“New Project”的對話框,里面有兩項“Create Project”和”Auto Generate Project”,我們選擇“Create Project”然后點擊”OK”按鈕。這時又出現了一個對話框,要求你輸入Project的名字,請在”Project Name”里面輸入Calculator,然后選擇你要保存Project的路徑,例如:“D:/Program Files/Borland/SilkTest/Projects/Calculator”,點擊確定。這個時候你的新項目Calculator就建好了。
2、錄制測試腳本
在錄制腳本之前,為了讓SilkTest認識我們的待測軟件,也就是常說的AUT(application under testing),我們必須捕捉和建立AUT的GUI定義,這幾乎是所有GUI測試的第一步。為了捕捉GUI的定義,我們首先需要建立一個Test Frame,你可以簡單的理解Test Frame里面定義了將要測試的GUI上各個對象。
由于我們要測試的是WindowsXP自帶的計算器,所以請先打開該程序,你可以從”開始->程序->附件”里面找到它。打開后,你可以選擇菜單”File->New”,這樣你就能彈出的對話框中選擇”Test Frame”文件類型了,然后在”new test frame”對話框中選擇”application”為計算器,其他的默認好了,點擊OK按鈕,SilkTest就幫你自動在Include/Frame目錄下生成了frame.inc文件,這里面就是計算器GUI的定義,它的代碼看起來像如下這樣:
[ ] const wMainWindow = 計算器 [ ] [+] window MainWin 計算器 [+] multitag “計算器” [ ] “$C:/WINDOWS/system32/calc.exe” [ ] [ ] // The working directory of the application when it is invoked [ ] const sDir = “C:/WINDOWS/system32″ [ ] [ ] // The command line used to invoke the application [ ] const sCmdLine = “C:/WINDOWS/system32/calc.exe ” [ ] [ ] // The first window to appear when the application is invoked [ ] // const wStartup = ? [ ] [ ] // The list of windows the recovery system is to leave open [ ] // const lwLeaveOpen = {?} [ ] [+] Menu 編輯E [ ] tag “編輯(E)” [+] MenuItem 復制C [+] multitag “復制(C)” [ ] “$300″ [+] MenuItem 粘貼P [+] multitag “粘貼(P)” [ ] “$301″ [+] Menu 查看V [ ] tag “查看(V)” [+] MenuItem 標準型T [+] multitag “標準型(T)” [ ] “$305″ [+] MenuItem 科學型S [+] multitag “科學型(S)” [ ] “$304″ [+] MenuItem 數字分組I [+] multitag “數字分組(I)” [ ] “$303″ [+] Menu 幫助H [ ] tag “幫助(H)” [+] MenuItem 幫助主題H [+] multitag “幫助主題(H)” [ ] “$317″ [+] MenuItem 關于計算器A [+] multitag “關于計算器(A)” [ ] “$302″ [+] TextField TextField1 [ ] tag “$403″ [+] PushButton MC [+] multitag “MC” [ ] “$113″ [+] PushButton MR [+] multitag “MR” [ ] “$114″ [+] PushButton MS [+] multitag “MS” [ ] “$115″ [+] PushButton M [+] multitag “M+” [ ] “$116″ [+] PushButton N7 [+] multitag “7″ [ ] “$131″ [+] PushButton N4 [+] multitag “4″ [ ] “$128″ [+] PushButton N1 [+] multitag “1″ [ ] “$125″ [+] PushButton N0 [+] multitag “0″ [ ] “$124″ [+] PushButton N8 [+] multitag “8″ [ ] “$132″ [+] PushButton N51 [+] multitag “5″ [ ] “$129″ [+] PushButton N2 [+] multitag “2″ [ ] “$126″ [+] PushButton PushButton24 [+] multitag “+?-” [ ] “$80″ [+] PushButton N91 [+] multitag “9″ [ ] “$133″ [+] PushButton N6 [+] multitag “6″ [ ] “$130″ [+] PushButton N3 [+] multitag “3″ [ ] “$127″ [+] PushButton N16 [+] multitag “?[16]” [ ] “$85″ [+] PushButton N52 [+] multitag “?[5]” [ ] “$90″ [+] PushButton N92 [+] multitag “?[9]” [ ] “$91″ [+] PushButton PushButton20 [+] multitag “-” [ ] “$93″ [+] PushButton PushButton26 [+] multitag “+” [ ] “$92″ [+] PushButton PushButton27 [+] multitag “=” [ ] “$112″ [+] PushButton Backspace [+] multitag “Backspace” [ ] “$83″ [+] PushButton CE [+] multitag “CE” [ ] “$82″ [+] PushButton C [+] multitag “C” [ ] “$81″ [+] StaticText StaticText1 [ ] tag “$401″ [+] PushButton N1X [+] multitag “1?x” [ ] “$107″ [+] PushButton Sqt [+] multitag “sqt” [ ] “$103″ [+] PushButton PushButton15 [+] multitag “%” [ ] “$109″ [+] StaticText StaticText2 [ ] tag “$1000″ [+] window MessageBoxClass MessageBox [ ] tag “~ActiveApp/[DialogBox]$MessageBox” [+] PushButton OK [ ] tag “OK” [+] PushButton Cancel [ ] tag “Cancel” [+] PushButton Yes [ ] tag “Yes” [+] PushButton No [ ] tag “No” [+] StaticText Message [ ] motif tag “#2″ [ ] tag “#1″ |
現在,你可以新建一個testcase了,選擇菜單的”Record -> Testcase…”,在彈出的”Record Testcase”對話框中,你可以看到默認的testcase name是Test1,初始狀態是DefaultBaseState,然后你點擊StartRecording按鈕就可以開始錄制測試用例了。當你按下該按鈕時,一般右下角屏幕會出現一個Record Status的對話框,然后你在屏幕上做的任何操作都可以被記錄下來。在本例中,請點擊計算器的清零按”C”,然后按順序按”1″,”2″,”3″,”+”,”1″,”2″,”3″,”=”等按鈕,你就完成了123+123操作,然后將鼠標懸停在計算器的結果框上,按組合鍵來停止記錄,這時候會彈出一個新的窗口”Verify window”讓你選擇要verify的內容,也就是測試點。因為你最后是懸停在計算器的結果框上,SilkTest以為你會想要verify該控件的屬性,它會讓你選擇該控件的屬性,你只需要選擇Text,也就是該次計算的結果,然后點擊OK,再點擊record Status對話框的Done。接著出現的Record Testcase對話框中點擊Paste to Editor就把這次記錄的腳本粘貼到一個新的腳本文件中了,保存它為Record.t。如果你得到了如下的代碼,恭喜你錄制已經完成。
[-] testcase Test1 () [-] recording [ ] 計算器.SetActive () [ ] 計算器.C.Click () [ ] 計算器.N1.Click () [ ] 計算器.N2.Click () [ ] 計算器.N3.Click () [ ] 計算器.PushButton26.Click () [ ] 計算器.N1.Click () [ ] 計算器.N2.Click () [ ] 計算器.N3.Click () [ ] 計算器.PushButton27.Click () [-] 計算器.TextField1.VerifyProperties ({…}) [ ] “” [-] {…} [ ] {“Text”, ”246. “} |
3、執行錄制的測試腳本
腳本錄制好了,從項目里面選擇上你記錄的Record.t文件,按F9就可以直接運行了。這個時候,SilkTest會激活計算器這個應用,然后以飛快的速度重復我們剛才做的操作,然后退出顯示result文件,它的內容如下:
[ ] Script record.t – Passed [ ] Machine: (local) [ ] Started: 04:20:45PM on 31-May-2009 [ ] Elapsed: 0:00:02 [ ] Passed: 1 test (100%) [ ] Failed: 0 tests (0%) [ ] Totals: 1 test, 0 errors, 0 warnings [ ] [-] Testcase Test1 – Passed [ ] *** DefaultBaseState is setting 計算器 active, MainWin(“SilkTest入門快打.txt – 記事本|$C:/WINDOWS/notepad.exe”) was active |
該result文件表示我們的測試時Passed,見第一行。然后會記錄測試開始的時間和耗費的時間。如果測試中有warning或者Error,result文件的結果會用紫色或紅色的文字顯示,沒有任何問題的話,測試結果應該是黑色文字顯示。
怎么樣,使用silktest不是那么困難吧?你已經會測試簡單的程序啦!
posted on 2013-01-28 11:05 順其自然EVO 閱讀(307) 評論(0) 編輯 收藏 所屬分類: selenium and watir webdrivers 自動化測試學習