这一讲,我们将在
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