SilkTest入门快打6-使用类和对象

来源:互联网 发布:旺旺淘宝网 编辑:程序博客网 时间:2024/04/30 00:07

原文作者: ZengYueTian地址: http://blog.csdn.net/yuetiantian/archive/2009/06/02/4237286.aspx

   ZengYueTian 老兄的帮助下,终于将这个例子跑通了,真是不容易^_^!

这一讲,我们将在SilkTest中使用类和对象。众所周知,面向对象的程序比面向过程的程序结构清晰,易于维护。所以对于大型的测试框架,我们应该尽可能使用面向对象的语言来编写。SilkTest所使用的4Test 脚本语言是一个非常面向对象的编程语言,它提供了绝大多数面向对象的机制,使用它能够轻松构建OO的脚本。

下面我们希望能够用SilkTest来操作计算器,先按数字1 ,然后打印这时结果框中的数值,然后再按键C 清零,再次打印结果框中的数值。为此,我们新建一个脚本Cal.t,它的内容如下:

[-] winclassCalculator   //1
   [ ] StringsResult   //2
   [-] Void ClearResult() //3
      [ ] 计算器.C.Click() //4
   [-] voidGetResult()   //5
      [ ] sResult = 计算器.CalResult.GetText() //6
    [-] VoidClickNum1() //7
      [ ] 计算器.N1.Click() //8

[ ] window Calculator Cal//10

[-] testcaseCalSetAndClear() //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.

附件代码截图,方便大家参考:

SilkTest入门快打6-使用类和对象

原创粉丝点击