这一讲,我们将在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.
作者: Zeng YueTian
网站: SilkTest
中文站
网址: http://blog.csdn.net/yuetiantian/
版权所有 - 转载时必须以链接形式注明作者和原始出处
发表于 @ 2009年06月02日 22:01:00 | 评论( loading... ) | 举报| 收藏