這一講,我們將在
SilkTest 中使用類和對象。眾所周知,面向對象的程序比面向過程的程序結構清晰,易于維護。所以對于大型的
測試框架,我們應該盡可能使用面向對象的語言來編寫。SilkTest 所使用的4Test 腳本語言是一個非常面向對象的編程語言,它提供了絕大多數面向對象的機制,使用它能夠輕松構建OO 的腳本。
下面我們希望能夠用SilkTest 來操作計算器,先按數字1 ,然后打印這時結果框中的數值,然后再按鍵C 清零,再次打印結果框中的數值。為此,我們新建一個腳本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 |
各行代碼的意義如下:
行1:用關鍵字winclass 定義一個類Calculator (注意定義對象用winclass 關鍵字)
行2:定義Calculator 類中的一個String 類型的數據成員sResult ,用它來保存結果框的值
行3/4:定義Calculator 類的一個成員函數ClearResult,它的返回值是void,即不返回值。它的職責就是點一下計算器的C鍵,將結果清零
行5/6:定義Calculator 類的一個成員函數GetResult,它的返回值是void,即不返回值。它的職責就是獲取計算器的結果框的值,將其賦給成員變量GetResult
行7/8:定義Calculator 類的一個成員函數ClickNum1,它的返回值是void,即不返回值。它的職責就是點一下計算器的數字鍵1
行10:在類的外面,我們定義了一個對象Cal,它的類是我們剛剛定義的Calculator類(注意定義對象用window 關鍵字)
行11:開始一個testcase
行12-18:激活計算器,點擊數字鍵1,得到計算器的結果值,打印該值,將計算器清零,再次獲取結果值,然后打印該值。
執行一下,你的case 最終應該打印兩行,分別是
1.
0.
本文轉載自:http://www.zengyuetian.com/
相關鏈接:
SilkTest入門快打1-錄制回放
SilkTest入門快打2-編寫腳本測試
SilkTest入門快打3-函數與原生Verify函數
SilkTest入門快打4-appstate
SilkTest入門快打5-深入appstate