SilkTest入門快打1-錄制回放
本人使用SilkTest進(jìn)行自動(dòng)化測(cè)試已有一段時(shí)間,有一些經(jīng)驗(yàn)想和初學(xué)者們分享,所以就嘗試編寫這個(gè)SilkTest入門快打系列教程。編寫該教程有兩個(gè)目的,首先,希望能夠告訴初學(xué)者如何快速的上手SilkTest而不必關(guān)心很多SilkTest的細(xì)節(jié)。實(shí)際上,SilkTest是一個(gè)強(qiáng)大的軟件測(cè)試工具,應(yīng)用面很廣,使用它的人很少能夠面面俱到把所有SilkTest提供的功能都用到,根據(jù)28原理,絕大多數(shù)人只用到了其中20%的功能,所以我希望這個(gè)教程能夠覆蓋SilkTest最常被用到的那部分功能,讓初學(xué)者能夠盡快將SilkTest使用起來。其次,我工作中主要是用SilkTest對(duì)C/S結(jié)構(gòu)的軟件進(jìn)行測(cè)試,一直沒有機(jī)會(huì)用SilkTest來測(cè)試B/S的應(yīng)用,所以希望能藉此機(jī)會(huì),在編寫該系列教程的時(shí)候同時(shí)更多地學(xué)習(xí)如何使用SilkTest。
“天下功夫,唯快不破”,讓我們趕緊開始SilkTest的快打旅程吧!
開始之前,請(qǐng)確定你的機(jī)器上安裝了SilkTest軟件,我裝的是2006試用版,如果你的版本和我的不同,那也沒什么關(guān)系,因?yàn)椴煌姹維ilkTest的腳本語法基本上沒有變化。
今天這一節(jié),主要教你如何開始一個(gè)簡(jiǎn)單的測(cè)試。我們將要做的是測(cè)試WindowsXP自帶的計(jì)算器,需要做的首先是新建一個(gè)測(cè)試項(xiàng)目,然后錄制
一段測(cè)試腳本并指定測(cè)試點(diǎn),最后運(yùn)行該測(cè)試觀察測(cè)試結(jié)果。
1、新建測(cè)試項(xiàng)目
首先打開你的SilkTest軟件,然后從菜單里選擇“File->New Project”,這時(shí)會(huì)彈出一個(gè)“New Project”的對(duì)話框,里面有兩項(xiàng)“Create Project”和”Auto Generate Project”,我們選擇“Create Project”然后點(diǎn)擊”OK”按鈕。這時(shí)又出現(xiàn)了一個(gè)對(duì)話框,要求你輸入Project的名字,請(qǐng)?jiān)?#8221;Project Name”里面輸入Calculator,然后選擇你要保存Project的路徑,例如:“D:/Program Files/Borland/SilkTest/Projects/Calculator”,點(diǎn)擊確定。這個(gè)時(shí)候你的新項(xiàng)目Calculator就建好了。
2、錄制測(cè)試腳本
在錄制腳本之前,為了讓SilkTest認(rèn)識(shí)我們的待測(cè)軟件,也就是常說的AUT(application under testing),我們必須捕捉和建立AUT的GUI定義,這幾乎是所有GUI測(cè)試的第一步。為了捕捉GUI的定義,我們首先需要建立一個(gè)Test Frame,你可以簡(jiǎn)單的理解Test Frame里面定義了將要測(cè)試的GUI上各個(gè)對(duì)象。
由于我們要測(cè)試的是WindowsXP自帶的計(jì)算器,所以請(qǐng)先打開該程序,你可以從”開始->程序->附件”里面找到它。打開后,你可以選擇菜單”File->New”,這樣你就能彈出的對(duì)話框中選擇”Test Frame”文件類型了,然后在”new test frame”對(duì)話框中選擇”application”為計(jì)算器,其他的默認(rèn)好了,點(diǎn)擊OK按鈕,SilkTest就幫你自動(dòng)在Include/Frame目錄下生成了frame.inc文件,這里面就是計(jì)算器GUI的定義,它的代碼看起來像如下這樣:
[ ] const wMainWindow = 計(jì)算器 [ ] [+] window MainWin 計(jì)算器 [+] multitag “計(jì)算器” [ ] “$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 復(fù)制C [+] multitag “復(fù)制(C)” [ ] “$300″ [+] MenuItem 粘貼P [+] multitag “粘貼(P)” [ ] “$301″ [+] Menu 查看V [ ] tag “查看(V)” [+] MenuItem 標(biāo)準(zhǔn)型T [+] multitag “標(biāo)準(zhǔn)型(T)” [ ] “$305″ [+] MenuItem 科學(xué)型S [+] multitag “科學(xué)型(S)” [ ] “$304″ [+] MenuItem 數(shù)字分組I [+] multitag “數(shù)字分組(I)” [ ] “$303″ [+] Menu 幫助H [ ] tag “幫助(H)” [+] MenuItem 幫助主題H [+] multitag “幫助主題(H)” [ ] “$317″ [+] MenuItem 關(guān)于計(jì)算器A [+] multitag “關(guān)于計(jì)算器(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″ |
現(xiàn)在,你可以新建一個(gè)testcase了,選擇菜單的”Record -> Testcase…”,在彈出的”Record Testcase”對(duì)話框中,你可以看到默認(rèn)的testcase name是Test1,初始狀態(tài)是DefaultBaseState,然后你點(diǎn)擊StartRecording按鈕就可以開始錄制測(cè)試用例了。當(dāng)你按下該按鈕時(shí),一般右下角屏幕會(huì)出現(xiàn)一個(gè)Record Status的對(duì)話框,然后你在屏幕上做的任何操作都可以被記錄下來。在本例中,請(qǐng)點(diǎn)擊計(jì)算器的清零按”C”,然后按順序按”1″,”2″,”3″,”+”,”1″,”2″,”3″,”=”等按鈕,你就完成了123+123操作,然后將鼠標(biāo)懸停在計(jì)算器的結(jié)果框上,按組合鍵來停止記錄,這時(shí)候會(huì)彈出一個(gè)新的窗口”Verify window”讓你選擇要verify的內(nèi)容,也就是測(cè)試點(diǎn)。因?yàn)槟阕詈笫菓彝T谟?jì)算器的結(jié)果框上,SilkTest以為你會(huì)想要verify該控件的屬性,它會(huì)讓你選擇該控件的屬性,你只需要選擇Text,也就是該次計(jì)算的結(jié)果,然后點(diǎn)擊OK,再點(diǎn)擊record Status對(duì)話框的Done。接著出現(xiàn)的Record Testcase對(duì)話框中點(diǎn)擊Paste to Editor就把這次記錄的腳本粘貼到一個(gè)新的腳本文件中了,保存它為Record.t。如果你得到了如下的代碼,恭喜你錄制已經(jīng)完成。
[-] testcase Test1 () [-] recording [ ] 計(jì)算器.SetActive () [ ] 計(jì)算器.C.Click () [ ] 計(jì)算器.N1.Click () [ ] 計(jì)算器.N2.Click () [ ] 計(jì)算器.N3.Click () [ ] 計(jì)算器.PushButton26.Click () [ ] 計(jì)算器.N1.Click () [ ] 計(jì)算器.N2.Click () [ ] 計(jì)算器.N3.Click () [ ] 計(jì)算器.PushButton27.Click () [-] 計(jì)算器.TextField1.VerifyProperties ({…}) [ ] “” [-] {…} [ ] {“Text”, ”246. “} |
3、執(zhí)行錄制的測(cè)試腳本
腳本錄制好了,從項(xiàng)目里面選擇上你記錄的Record.t文件,按F9就可以直接運(yùn)行了。這個(gè)時(shí)候,SilkTest會(huì)激活計(jì)算器這個(gè)應(yīng)用,然后以飛快的速度重復(fù)我們剛才做的操作,然后退出顯示result文件,它的內(nèi)容如下:
[ ] 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 計(jì)算器 active, MainWin(“SilkTest入門快打.txt – 記事本|$C:/WINDOWS/notepad.exe”) was active |
該result文件表示我們的測(cè)試時(shí)Passed,見第一行。然后會(huì)記錄測(cè)試開始的時(shí)間和耗費(fèi)的時(shí)間。如果測(cè)試中有warning或者Error,result文件的結(jié)果會(huì)用紫色或紅色的文字顯示,沒有任何問題的話,測(cè)試結(jié)果應(yīng)該是黑色文字顯示。
怎么樣,使用silktest不是那么困難吧?你已經(jīng)會(huì)測(cè)試簡(jiǎn)單的程序啦!
posted on 2013-01-28 11:05 順其自然EVO 閱讀(308) 評(píng)論(0) 編輯 收藏 所屬分類: selenium and watir webdrivers 自動(dòng)化測(cè)試學(xué)習(xí)