• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    TCL/EXPECT自動化測試腳本實例二 --- 主程序

    發布: 2009-6-24 10:17 | 作者: 不詳 | 來源: 領測軟件測試網采編 | 查看: 262次 | 進入軟件測試論壇討論

    領測軟件測試網

    # open log file
    log_file "log/vLog$tstr.log"

    # open brief log file
    set g_bLogFd [open "log/bLog.log" w]

    # start testing
    foreach tItem $tList {
        switch $tItem {
            "sys_001" { ;# test group sys_001
                source snmp.exp
            }
            "cmd" { ;# exec cmd file
                source tCmd.exp
            }
            "script" { ;# exec script file
                if {$execScript == ""} {
                    puts "Please specify script name using -s option"
                    return -1
                }
                source $execScript
            }

            default {
                puts "do you want to test \"$tItem\"\?"
            }
        }
    }

    close $g_bLogFd


        在程序開始,通過source導入兩個文件,其中global.exp中主要存放了一些全局變量的定義,因為這些全局變量對每臺測試設備可能各不相同,所以把它們提取出來。commonLib.exp文件中存放著一些通用子程序,可供各測試程序調用。我們前面介紹過的login子程序,就放在此文件中。
    接下來,分析命令行參數,首先提取出所有的選項參數,目前支持的命令行選項包括:
    -u :此選項用來更改登錄的用戶名
    -p :此選項用來更改登錄的密碼
    -i :此選項用來更改te.net的IP地址
    -c :此選項用來指明批處理文件的文件名,用法在后面描述
    -s :此選項用來指明腳本文件的文件名,用法在后面描述

    最后,命令行參數中所有非選項的部分,都被做為測試項,分別對這些測試項進行測試。
    例如測試項test_001,會使用source命令調用snmp.exp腳本,進行snmp community方面的測試。
    可以根據需要自行添加測試項目。

    有兩個特別的測試項名稱,分別為cmd和script。
    cmd測試項,會調用cmd.exp腳本,這個腳本在后面介紹,它的主要功能是執行一個文本文件里的所有命令。文本文件名由-c選項提供。
    script測試項,它會調用source命令,執行$execScript腳本?梢允褂-s選項為$execScript變量賦值。

        這個測試腳本提供了兩種日志,一種是詳細的日志(vLog*),包括了telnet的所有交互過程;另外一種是簡單的日志,只包含程序中使用errLog輸出的信息。日志文件被放在子目錄log中,其文件名中包含了腳本執行的時間,方便查找。
    本腳本中使用dbgLog,以及以后將用到的errLog,都是定義在commonLib.exp文件中的子函數,代碼如下:

    #************************************************
    # debug output routine
    #
    # @PARAMS
    # arg - variable length arguments
    #************************************************
    proc dbgLog arg {
        global g_dbgFlag

        if {$g_dbgFlag} {
            puts $arg
        }
    }

    #************************************************
    # error output routine
    #
    # @PARAMS
    # arg - variable length arguments
    #************************************************
    proc errLog arg {
        global g_bLogFd
        global g_dbgFlag

        if {$g_dbgFlag} {
            puts $arg
        }

        if { $g_bLogFd != 0 } {
            puts $g_bLogFd $arg
        }

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    22/2<12

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>