qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

          SilkTest入門快打2-編寫腳本測試

           在上一講“SilkTest入門 快打系列1- 錄制回放”中,我們介紹了如何建立一個簡單的SilkTest 測試項目 ,用它來測試WindowsXP 自帶計算器的加法功能。在上一講中,我們使用SilkTest 的錄制回放功能來產(chǎn)生測試用例的腳本,雖然它可以工作地很好,但是采用錄制回放的方法,會有一些局限。首先,由于錄制回放總是操作原生對象,沒有隱藏對象的細(xì)節(jié),從而導(dǎo)致每行腳本都很長,不易閱讀。其次,如果待測AUT 的GUI 發(fā)生了變化,那么很可能,你需要重新錄制腳本,不利于已有代碼的維護(hù)。所以這一講中,我將介紹如何直接編寫SilkTest 腳本 進(jìn)行測試。

            我們?nèi)匀粶y試計算器的加法功能,首先像上一節(jié)一樣捕捉計算器GUI 的定義,并在其基礎(chǔ)上對其進(jìn)行一定的修改。也就是將/,*,-,+,= 等按鈕的定義名改成容易識別的名稱:

            將

          [+] PushButton N52
          [+] multitag “?[5]”
          [ ] “$90″
          [+] PushButton N92
          [+] multitag “?[9]”
          [ ] “$91″
          [+] PushButton PushButton20
          [+] multitag “-”
          [ ] “$93″
          [+] PushButton PushButton26
          [+] multitag “+”
          [ ] “$92″
          [+] PushButton PushButton27
          [+] multitag “=”
          [ ] “$112″

            改成:

          [+] PushButton Div
          [+] multitag “?[5]”
          [ ] “$90″
          [+] PushButton Mul
          [+] multitag “?[9]”
          [ ] “$91″
          [+] PushButton Dec
          [+] multitag “-”
          [ ] “$93″
          [+] PushButton Plus
          [+] multitag “+”
          [ ] “$92″
          [+] PushButton Equal
          [+] multitag “=”
          [ ] “$112″

            這樣,我們在腳本里面就可以用“計算器.Plus ”來表示加號按鈕,而不是晦澀的“計算器.PushButton26” 了。

            除此以外,我們還需要將

          [+] TextField TextField1
          [ ] tag “$403″

            改成

          [+] TextField CalResult
          [ ] tag “$403″


           然后,我們新建一個WriteScript.t,里面寫如下的代碼:

          [-] testcase Cal123Plus()   //1
          [ ] 計算器.SetActive ()  //2
          [ ] 計算器.C.Click ()    //3
          [ ] 計算器.N1.Click ()  //4
          [ ] 計算器.N2.Click ()  //5
          [ ] 計算器.N3.Click ()  //6
          [ ] 計算器.Plus.Click () //7
          [ ] 計算器.N1.Click ()  //8
          [ ] 計算器.N2.Click () //9
          [ ] 計算器.N3.Click () //10
          [ ] 計算器.Equal.Click () //11
          [ ] String sResultValue = 計算器.CalResult.GetText() //12
          [-] if(val(sResultValue) == 246)  //13
          [ ] Print(“Passed: Expect 123+123=246, actually it is {sResultValue}”) //14
          [-] else //15
          [ ] raise 1, “Failed: Expect 123+123=246, actually it is {sResultValue}” //16

            我來解釋一下這16 行代碼的意思,其實他們做的事情,和上一講的測試用例是一樣的,就是驗證123+123 的值等于246.

            行1 :定義一個名為Cal123Plus 的測試用例

            行2 :將當(dāng)前激活的應(yīng)用設(shè)為計算器,如果計算器這個程序沒有運行,那么就先啟動它,然后將其設(shè)為得到焦點的應(yīng)用。

            行3 :先點擊一下C 這個按鈕,也就是清除上次計算的結(jié)果

            行4- 行11 :分別點擊計算器上的123+123= 這八個按鈕

            行12 :定一個字符串變量sResultValue ,把CalResult 控件中的文本值賦給它

            行13- 行16 :如果sResultValue 得數(shù)字值等于246 ,就打印測試成功,否則拋出一個異常,表明測試失敗。沒有異常處理程序緊接raise之后的話,默認(rèn)情況下,SilkTest 將終止執(zhí)行。

            好了,現(xiàn)在按F9 運行一下你新編寫的WriteScript.t ,看看是不是通過了。

            然后,再將WriteScript.t 里面的246 改成247 ,然后運行,這時測試用例應(yīng)該拋出一個異常,你的腳本執(zhí)行結(jié)果是不是這樣呢?

          相關(guān)鏈接:

          SilkTest入門快打1-錄制回放

          posted on 2013-01-29 13:32 順其自然EVO 閱讀(251) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          <2013年1月>
          303112345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 特克斯县| 临江市| 达日县| 仲巴县| 泗水县| 乐昌市| 湖口县| 达拉特旗| 赤峰市| 石嘴山市| 龙胜| 磐安县| 内江市| 勐海县| 紫阳县| 凯里市| 冕宁县| 咸阳市| 汉源县| 罗田县| 安顺市| 金华市| 昌邑市| 绥中县| 正定县| 霍林郭勒市| 赤峰市| 元朗区| 临汾市| 灵山县| 阳高县| 伊通| 巨野县| 丰台区| 德州市| 榕江县| 同德县| 芮城县| 衡阳市| 大渡口区| 辽宁省|