qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問 http://qaseven.github.io/

          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í)

          <2013年1月>
          303112345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 米泉市| 嘉禾县| 沙湾县| 监利县| 卫辉市| 庄浪县| 通州市| 青河县| 定襄县| 五指山市| 徐水县| 灵石县| 天峻县| 青河县| 永登县| 金堂县| 六盘水市| 姚安县| 萨嘎县| 荔波县| 宾阳县| 德安县| 兴隆县| 阿拉尔市| 雷波县| 昌乐县| 博客| 南溪县| 满洲里市| 尼木县| 鸡东县| 双牌县| 彩票| 山东省| 陆良县| 南宫市| 鸡东县| 通州市| 肥东县| 象山县| 绩溪县|