SilkTest入門快打系列7-異常處理 軟件測試
今天是本教程的最后一講,本來我是想多寫幾個主題的,比如數據庫操作,測試計劃和測試用例,調用dll,tag和multitag的應用,web應用測試還有編程規范等等?墒,越到后面,我越覺得很多實例很難用文字描述清楚。抓圖是一個可行的辦法,可我又嫌麻煩,投入產出不成正比。最后決定只再介紹一下silktest的異常處理,希望能給初學者留下一個關于異常處理機制的印象,更多的內容,可能還是要靠大家自己在實踐中學習和摸索。
一般來說,異常處理是高級語言語法必備的一部分。你不必把它想的很神秘,它只是提供了一種機制讓程序員有能力應對預期以外的狀況發生。SilkTest作為一種高級的面向對象的腳本語言,當然也提供了異常處理的方法。我在本講只講如何使用最常見的do…except結構來處理異常。
上一講中的testcase,一共做了兩步,第一步點擊數字鍵1然后打印結果框的值,第二步點擊C鍵清零再打印結果框的值。如果你不小心少敲了第14行代碼的話,你Cal.t代碼應該如下:
[-] winclass Calculator //1
[ ] String sResult //2
[-] Void ClearResult() //3
[ ] 計算器.C.Click() //4
[-] void GetResult() //5
[ ] sResult = 計算器.CalResult.GetText() //6
[-] Void ClickNum1() //7
[ ] 計算器.N1.Click() //8
[ ] window Calculator Cal //10
[-] testcase CalSetAndClear() //11
[ ] 計算器.SetActive() //12
[ ] Cal.ClickNum1() //13
[ ] //Cal.GetResult() //14,假設你注釋了這行
[ ] Print(Cal.sResult) //15
[ ] Cal.ClearResult() //16
[ ] Cal.GetResult() //17
[ ] Print(Cal.sResult) //18
你在運行時會報錯如下:
[ ] *** Error: Variable (sResult) has not been set
[ ] Occurred in CalSetAndClear at Cal.t(15)
報錯的原因是,由于你沒有調用Cal.GetResult(),所以導致Cal.sResult沒有初始化,當SilkTest運行到第15行會認為這是一個嚴重的問題,就會拋出一個異常。而你的代碼中沒有異常處理結構,這個異常不會被捕獲處理,系統默認行為就是終止case運行,然后打印相關的信息提醒用戶。
文章來源于領測軟件測試網 http://www.k11sc111.com/