SilkTest入门快打系列2-编写脚本测…

本文通过修改GUI定义并直接编写SilkTest脚本来测试计算器的加法功能,介绍了如何利用SilkTest进行更高效且易于维护的自动化测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    原文作者: Zeng YueTian  地址: http://blog.youkuaiyun.com/yuetiantian/archive/2009/05/31/4229601.aspx

    不想再写一篇同样的这样的文章,因为文章写的已经很详细了,所以就直接转过来.

建议学习本文之前,首先看第一篇“SilkTest入门 快打系列1- 录制回放 ” 然后开始,因为1实在太基础所以没有转过来,呵呵^_^

    在上一讲“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}")

    [-] else //15

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

我来解释一下这16 行代码的意思,其实他们做的事情,和上一讲的测试用例是一样的,就是验证123+123 的值等于246.
行1 :定义一个名为Cal123Plus 的测试用例
行2 :将当前激活的应用设为计算器,如果计算器这个程序没有运行,那么就先启动它,然后将其设为得到焦点的应用。
行3 :先点击一下C 这个按钮,也就是清除上次计算的结果
行4- 行11 :分别点击计算器上的123+123= 这八个按钮
行12 :定一个字符串变量sResultValue ,把CalResult 控件中的文本值赋给它
行13- 行16 :如果sResultValue 得数字值等于246 ,就打印测试成功,否则抛出一个异常,表明测试失败,默认情况下,没有异常处理程序紧接其后的话,SilkTest 将终止执行。

好了,现在按F9 运行一下你新编写的WriteScript.t ,看看是不是通过了。然后,再将WriteScript.t 里面的246 改成247 ,然后运行,这时测试用例应该抛出一个异常,你的脚本执行了是不是这样呢?

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值