• <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自動化測試腳本實例六 --- SNMP community長度測試

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

    領測軟件測試網 本文通過一個測試SNMP community最大長度的腳本,介紹自動測試SNMP agent的方法。

        下面通過一個測試SNMP community最大長度的腳本,介紹一下net-snmp工具。

        net-snmp是一組基于命令行的snmp manager工具,可以在命令行下進行snmp get, snmp set, snmp walk等操作,支持snmp v1/v2c/v3。原來的名字叫做ucd-snmp,也已經被移植到windows NT上。
    它的主頁在http://net-snmp.sourceforge.net/

        由于它可以在命令行下進行SNMP操作,所以可以和TCL/expect很好的結合,完成自動化測試的功能。
    下面的腳本(snmp.exp),不斷的增加SNMP community,長度從1到256,每增加一個community,就調用snmp-get來進行SNMP get操作,如果get成功,說明此community有效;反之,就說明community已經超出了設備支持的最大長度。
    這個腳本使用前面講到的test.exp調用,調用方法是:
    ./test.exp -ssnmp.exp script
    對它稍加修改,也可以直接在命令行中調用,此處不再贅述。

    代碼如下:
    # $Id$

    proc snmpCommTest {comm} {
        global g_devip

        spawn snmpget -c $comm -v 2c -r 2 $g_devip system.sysUpTime.0
        expect {
            "system.sysUpTime.0*" {
                return 1
            }
            "*Timeout*" {
                return 0
            }
        }

        return 1
    }

    set spawn_id [login $g_devip $g_user $g_passwd]
    if {$spawn_id == 0} {
        errLog "login error\n"
        return 0
    }

    set cmdCommAdd "create snmp community %s rw\n"
    set cmdCommDel "delete snmp community %s\n"
    set cmdHostAdd "create snmp host ip 192.168.1.2 community %s\n"
    set cmdHostDel "delete snmp host ip 192.168.1.2 community %s\n"
    set comm ""

    for {set i 1} {$i < 256} {incr i} {
        set comm "a$comm"
        set cmd [format $cmdCommAdd $comm]
        exp_send $cmd
        expect {
            "Error*" {
                errLog "create comm len $i error"
                continue
            }
            timeout {
                errLog "create comm len $i timeout"
                continue
            }
            "Entry Created"
        }
        set cmd [format $cmdHostAdd $comm]
        exp_send $cmd
        expect {
            "Error*" {
                errLog "create host error"
                continue
            }
            timeout {
                errLog "create host timeout"
                continue
            }
            "Entry Created"
        }

        set rc [snmpCommTest $comm]
        if {$rc == 0} {
            errLog "community len $i failed"
        }

        set cmd [format $cmdHostDel $comm]
        exp_send $cmd
        expect "Entry Deleted"
        set cmd [format $cmdCommDel $comm]
        exp_send $cmd
        expect "Entry Deleted"

    延伸閱讀

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

    TAG: community EXPECT TCL 自動化 SNMP


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(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>