您的位置:首页 > 其它

SilkTest入门快打2-编写脚本测试

2013-08-28 19:46 162 查看
在上一讲“SilkTest入门 快打系列1- 录制回放 ”中,我们介绍了如何建立一个简单的SilkTest 测试项目 ,用它来测试WindowsXP 自带计算器的加法功能。在上一讲中,我们使用SilkTest 的录制回放功能来产生测试用例的脚本,虽然它可以工作地很好,但是采用录制回放的方法,会有一些局限。首先,由于录制回放总是操作原生对象,没有隐藏对象的细节,从而导致每行脚本都很长,不易阅读。其次,如果待测AUT 的GUI 发生了变化,那么很可能,你需要重新录制脚本,不利于已有代码的维护。所以这一讲中,我将介绍如何直接编写SilkTest
脚本 进行测试。

我们仍然测试计算器的加法功能,首先像上一节一样捕捉计算器GUI 的定义,并在其基础上对其进行一定的修改。也就是将/,*,-,+,= 等按钮的定义名改成容易识别的名称:



[+] PushButton N52

[+] multitag "?[5]"

[ ] "$90"

[+] PushButton N92

[+] multitag "?[9]"

[ ] "$91"

[+] PushButton PushButton20

[+] multitag "-"

[ ] "$93"

[+] PushButton PushButton26

[+] multitag "+"

[ ] "$92"

[+] PushButton PushButton27

[+] multitag "="

[ ] "$112"

改成:

[+] PushButton Div

[+] multitag "?[5]"

[ ] "$90"

[+] PushButton Mul

[+] multitag "?[9]"

[ ] "$91"

[+] PushButton Dec

[+] multitag "-"

[ ] "$93"

[+] PushButton Plus

[+] multitag "+"

[ ] "$92"

[+] PushButton Equal

[+] multitag "="

[ ] "$112"

这样,我们在脚本里面就可以用“计算器.Plus ”来表示加号按钮,而不是晦涩的“计算器.PushButton26” 了。

除此以外,我们还需要将

[+] TextField TextField1

[ ] tag "$403"

改成

[+] TextField CalResult

[ ] tag "$403"

然后,我们新建一个WriteScript.t, 里面写如下的代码:

[-] testcase Cal123Plus() //1

[ ] 计算器.SetActive () //2

[ ] 计算器.C.Click () //3

[ ] 计算器.N1.Click () //4

[ ] 计算器.N2.Click () //5

[ ] 计算器.N3.Click () //6

[ ] 计算器.Plus.Click () //7

[ ] 计算器.N1.Click () //8

[ ] 计算器.N2.Click () //9

[ ] 计算器.N3.Click () //10

[ ] 计算器.Equal.Click () //11

[ ] String sResultValue = 计算器.CalResult.GetText() //12

[-] if(val(sResultValue) == 246) //13

[ ] Print("Passed: Expect 123+123=246, actually it is {sResultValue}") //14

[-] else //15

[ ] raise 1, "Failed: Expect 123+123=246, actually it is {sResultValue}" //16

我来解释一下这16 行代码的意思,其实他们做的事情,和上一讲的测试用例是一样的,就是验证123+123 的值等于246.

行1 :定义一个名为Cal123Plus 的测试用例

行2 :将当前激活的应用设为计算器,如果计算器这个程序没有运行,那么就先启动它,然后将其设为得到焦点的应用。

行3 :先点击一下C 这个按钮,也就是清除上次计算的结果

行4- 行11 :分别点击计算器上的123+123= 这八个按钮

行12 :定一个字符串变量sResultValue ,把CalResult 控件中的文本值赋给它

行13- 行16 :如果sResultValue 得数字值等于246 ,就打印测试成功,否则抛出一个异常,表明测试失败。没有异常处理程序紧接raise之后的话,默认情况下,SilkTest 将终止执行。

好了,现在按F9 运行一下你新编写的WriteScript.t ,看看是不是通过了。

然后,再将WriteScript.t 里面的246 改成247 ,然后运行,这时测试用例应该抛出一个异常,你的脚本执行结果是不是这样呢?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: