zoukankan      html  css  js  c++  java
  • SilkTest入门快打系列1录制回放

    本人使用SilkTest进行自动化测试已有一段时间,有一些经验想和初学者们分享,所以就尝试编写这个SilkTest入门快打系列教程。编写该教程有两个目的,首先,希望能够告诉初学者如何快速的上手SilkTest而不必关心很多SilkTest的细节。实际上,SilkTest是一个强大的软件测试工具,应用面很广,使用它的人很少能够面面俱到把所有SilkTest提供的功能都用到,根据28原理,绝大多数人只用到了其中20%的功能,所以我希望这个教程能够覆盖SilkTest最常被用到的那部分功能,让初学者能够尽快将SilkTest使用起来。其次,我工作中主要是用SilkTest对C/S结构的软件进行测试,一直没有机会用SilkTest来测试B/S的应用,所以希望能藉此机会,在编写该系列教程的时候同时更多地学习如何使用SilkTest。


    “天下功夫,唯快不破”,让我们赶紧开始SilkTest的快打旅程吧!


    开始之前,请确定你的机器上安装了SilkTest软件,我装的是2006试用版,如果你的版本和我的不同,那也没什么关系,因为不同版本SilkTest的脚本语法基本上没有变化。

    今天这一节,主要教你如何开始一个简单的测试。我们将要做的是测试WindowsXP自带的计算器,需要做的首先是新建一个测试项目,然后录制

    一段测试脚本并指定测试点,最后运行该测试观察测试结果。

    1. 新建测试项目
    首先打开你的SilkTest软件,然后从菜单里选择“File->New Project”,这时会弹出一个“New Project”的对话框,里面有两项“Create Project”和"Auto Generate Project",我们选择“Create Project”然后点击"OK"按钮。这时又出现了一个对话框,要求你输入Project的名字,请在"Project Name"里面输入Calculator,然后选择你要保存Project的路径,例如:“D:\Program Files\Borland\SilkTest\Projects\Calculator”,点击确定。这个时候你的新项目Calculator就建好了。

    2.录制测试脚本
    在录制脚本之前,为了让SilkTest认识我们的待测软件,也就是常说的AUT(application under testing),我们必须捕捉和建立AUT的GUI定义,这几乎是所有GUI测试的第一步。为了捕捉GUI的定义,我们首先需要建立一个Test Frame,你可以简单的理解Test Frame里面定义了将要测试的GUI上各个对象。
    由于我们要测试的是WindowsXP自带的计算器,所以请先打开该程序,你可以从"开始->程序->附件"里面找到它。打开后,你可以选择菜单"File->New",这样你就能弹出的对话框中选择"Test Frame"文件类型了,然后在"new test frame"对话框中选择"application"为计算器,其他的默认好了,点击OK按钮,SilkTest就帮你自动在Include/Frame目录下生成了frame.inc文件,这里面就是计算器GUI的定义,它的代码看起来像如下这样:
    [ ] const wMainWindow = 计算器
    [ ]
    [+] window MainWin 计算器
        [+] multitag "计算器"
            [ ] "$C:\WINDOWS\system32\calc.exe"
        [ ]
        [ ] // The working directory of the application when it is invoked
        [ ] const sDir = "C:\WINDOWS\system32"
        [ ]
        [ ] // The command line used to invoke the application
        [ ] const sCmdLine = "C:\WINDOWS\system32\calc.exe "
        [ ]
        [ ] // The first window to appear when the application is invoked
        [ ] // const wStartup = ?
        [ ]
        [ ] // The list of windows the recovery system is to leave open
        [ ] // const lwLeaveOpen = {?}
        [ ]
        [+] Menu 编辑E
            [ ] tag "编辑(E)"
            [+] MenuItem 复制C
                [+] multitag "复制(C)"
                    [ ] "$300"
            [+] MenuItem 粘贴P
                [+] multitag "粘贴(P)"
                    [ ] "$301"
        [+] Menu 查看V
            [ ] tag "查看(V)"
            [+] MenuItem 标准型T
                [+] multitag "标准型(T)"
                    [ ] "$305"
            [+] MenuItem 科学型S
                [+] multitag "科学型(S)"
                    [ ] "$304"
            [+] MenuItem 数字分组I
                [+] multitag "数字分组(I)"
                    [ ] "$303"
        [+] Menu 帮助H
            [ ] tag "帮助(H)"
            [+] MenuItem 帮助主题H
                [+] multitag "帮助主题(H)"
                    [ ] "$317"
            [+] MenuItem 关于计算器A
                [+] multitag "关于计算器(A)"
                    [ ] "$302"
        [+] TextField TextField1
            [ ] tag "$403"
        [+] PushButton MC
            [+] multitag "MC"
                [ ] "$113"
        [+] PushButton MR
            [+] multitag "MR"
                [ ] "$114"
        [+] PushButton MS
            [+] multitag "MS"
                [ ] "$115"
        [+] PushButton M
            [+] multitag "M+"
                [ ] "$116"
        [+] PushButton N7
            [+] multitag "7"
                [ ] "$131"
        [+] PushButton N4
            [+] multitag "4"
                [ ] "$128"
        [+] PushButton N1
            [+] multitag "1"
                [ ] "$125"
        [+] PushButton N0
            [+] multitag "0"
                [ ] "$124"
        [+] PushButton N8
            [+] multitag "8"
                [ ] "$132"
        [+] PushButton N51
            [+] multitag "5"
                [ ] "$129"
        [+] PushButton N2
            [+] multitag "2"
                [ ] "$126"
        [+] PushButton PushButton24
            [+] multitag "+?-"
                [ ] "$80"
        [+] PushButton N91
            [+] multitag "9"
                [ ] "$133"
        [+] PushButton N6
            [+] multitag "6"
                [ ] "$130"
        [+] PushButton N3
            [+] multitag "3"
                [ ] "$127"
        [+] PushButton N16
            [+] multitag "?[16]"
                [ ] "$85"
        [+] PushButton N52
            [+] multitag "?[5]"
                [ ] "$90"
        [+] PushButton N92
            [+] multitag "?[9]"
                [ ] "$91"
        [+] PushButton PushButton20
            [+] multitag "-"
                [ ] "$93"
        [+] PushButton PushButton26
            [+] multitag "+"
                [ ] "$92"
        [+] PushButton PushButton27
            [+] multitag "="
                [ ] "$112"
        [+] PushButton Backspace
            [+] multitag "Backspace"
                [ ] "$83"
        [+] PushButton CE
            [+] multitag "CE"
                [ ] "$82"
        [+] PushButton C
            [+] multitag "C"
                [ ] "$81"
        [+] StaticText StaticText1
            [ ] tag "$401"
        [+] PushButton N1X
            [+] multitag "1?x"
                [ ] "$107"
        [+] PushButton Sqt
            [+] multitag "sqt"
                [ ] "$103"
        [+] PushButton PushButton15
            [+] multitag "%"
                [ ] "$109"
        [+] StaticText StaticText2
            [ ] tag "$1000"
    [+] window MessageBoxClass MessageBox
        [ ] tag "~ActiveApp/[DialogBox]$MessageBox"
        [+] PushButton OK
            [ ] tag "OK"
        [+] PushButton Cancel
            [ ] tag "Cancel"
        [+] PushButton Yes
            [ ] tag "Yes"
        [+] PushButton No
            [ ] tag "No"
        [+] StaticText Message
            [ ] motif tag "#2"
            [ ] tag "#1"

    现在,你可以新建一个testcase了,选择菜单的"Record -> Testcase...",在弹出的"Record Testcase"对话框中,你可以看到默认的testcase name是Test1,初始状态是DefaultBaseState,然后你点击StartRecording按钮就可以开始录制测试用例了。当你按下该按钮时,一般右下角屏幕会出现一个Record Status的对话框,然后你在屏幕上做的任何操作都可以被记录下来。在本例中,请点击计算器的清零按"C",然后按顺序按"1","2","3","+","1","2","3","="等按钮,你就完成了123+123操作,然后将鼠标悬停在计算器的结果框上,按组合键<Ctrl-Alt>来停止记录,这时候会弹出一个新的窗口"Verify window"让你选择要verify的内容,也就是测试点。因为你最后是悬停在计算器的结果框上,SilkTest以为你会想要verify该控件的属性,它会让你选择该控件的属性,你只需要选择Text,也就是该次计算的结果,然后点击OK,再点击record Status对话框的Done。接着出现的Record Testcase对话框中点击Paste to Editor就把这次记录的脚本粘贴到一个新的脚本文件中了,保存它为Record.t。如果你得到了如下的代码,恭喜你录制已经完成。
    [-] testcase Test1 ()
        [-] recording
            [ ] 计算器.SetActive ()
            [ ] 计算器.C.Click ()
            [ ] 计算器.N1.Click ()
            [ ] 计算器.N2.Click ()
            [ ] 计算器.N3.Click ()
            [ ] 计算器.PushButton26.Click ()
            [ ] 计算器.N1.Click ()
            [ ] 计算器.N2.Click ()
            [ ] 计算器.N3.Click ()
            [ ] 计算器.PushButton27.Click ()
            [-] 计算器.TextField1.VerifyProperties ({...})
                [ ] ""
                [-] {...}
                    [ ] {"Text",                 "246. "}

    3. 执行录制的测试脚本
    脚本录制好了,从项目里面选择上你记录的Record.t文件,按F9就可以直接运行了。这个时候,SilkTest会激活计算器这个应用,然后以飞快的速度重复我们刚才做的操作,然后退出显示result文件,它的内容如下:
    [ ] Script record.t - Passed
    [ ] Machine: (local)
    [ ] Started: 04:20:45PM on 31-May-2009
    [ ] Elapsed: 0:00:02
    [ ] Passed:  1 test (100%)
    [ ] Failed:  0 tests (0%)
    [ ] Totals:  1 test, 0 errors, 0 warnings
    [ ]
    [-] Testcase Test1 - Passed
        [ ] *** DefaultBaseState is setting 计算器 active, MainWin("SilkTest入门快打.txt - 记事本|$C:\WINDOWS\notepad.exe") was active


    该result文件表示我们的测试时Passed,见第一行。然后会记录测试开始的时间和耗费的时间。如果测试中有warning或者Error,result文件的结果会用紫色或红色的文字显示,没有任何问题的话,测试结果应该是黑色文字显示。

    怎么样,使用silktest不是那么困难吧?你已经会测试简单的程序啦!

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yuetiantian/archive/2009/05/31/4228805.aspx

  • 相关阅读:
    JDBC 查询的三大参数 setFetchSize prepareStatement(String sql, int resultSetType, int resultSetConcur)
    有空必看
    SpringMVC 利用AbstractRoutingDataSource实现动态数据源切换
    FusionCharts JavaScript API Column 3D Chart
    FusionCharts JavaScript API
    FusionCharts JavaScript API
    Extjs 继承Ext.Component自定义组件
    eclipse 彻底修改复制后的项目名称
    spring 转换器和格式化
    Eclipse快速生成一个JavaBean类的方法
  • 原文地址:https://www.cnblogs.com/chester/p/2084204.html
Copyright © 2011-2022 走看看