TCL/EXPECT自动化测试脚本实例四 --- 批命令执行

原创 2006年05月30日 10:25:00
在测试过程中,在具体测试某一个功能点时,往往需要为此进行大量的配置。为了简化测试过程,我们可以把所有的配置命令放在一个文本文件中,然后使用测试脚本来执行这些命令。这样就不需要再手工进行配置了,费时费力。
基于如上考虑,编写了下面的脚本tCmd.exp。这个脚本被我们前面介绍过的test.exp脚本调用。

# $Id$

# This file is used to execute specific commands list in a file

proc execCmdFile {cmdFile} {
    global g_dbgFlag g_prompt

    # enable debug
    set g_dbgFlag 1

    # login
    set spawn_id [login $g_devip $g_user $g_passwd]
    if {$spawn_id == 0} {
        errLog "login $g_devip failed"
        return 0
    }

    # open cmdFile
    set cmdFd [open $cmdFile r]

    while true {
        # get a line
        if {![getLine $cmdFd line]} {
            dbgLog "reached eof"
            break
        }

        # split the line
        set ln [split $line ","]
        set cmd [string trim [lindex $ln 0]]
        set out [string trim [lindex $ln 1]]

        if {$cmd == ""} continue
        if {$out == ""} set out $g_prompt

        # send cmd line
        exp_send "$cmd/n"
        dbgLog "send $cmd"

        # expect output
        dbgLog "expect $out"
        expect {
            timeout {
                errLog "TIMEOUT: while exec /"$cmd/""
                continue
            }
            -ex "$out" {
                continue
            }
        } ;# end expect
    }

    # close cmdFile
    close $cmdFd
}

# if no cmdFile, use default
if {$cmdFile == ""} {
    set cmdFile "cmdFile.txt"
}

execCmdFile $cmdFile

有了这个脚本,我们可以使用"./test.exp -cinterface.txt cmd"来执行interface.txt中的命令。

相关文章推荐

自动化测试-TCL脚本语言

TCL 是一种 脚本语言。最早称为“工具命令语言”"Tool Command Language", 但是目前已经不是这个含义,不过我们仍然称呼它为TCL。 由John Ousterhout创建。 TC...

FPGA学习之TCL自动化测试脚本

随着fpga的不断学习,使用仿真的次数也逐渐增多,每次都是使用GUI界面,感觉调试很不方便,改下代码又要重新编译再添加波形,大大增加了调试的周期。最近了解了一种新的仿真方式——利用TCL语言进行脚本控...

java版本的expect: 简单方式实现ssh/telnet与服务器端的交互和自动化测试

在电信领域或IP领域,我们经常要与大量机器进行批量作业。expect能够很好的完成这类交互工作。 比方我们要登陆testmachine,执行三条命令snmpmanagement,checkresult...

基于Tcl/Tk语言的自动化测试平台的实现

基于Tcl/Tk语言的自动化测试平台的实现 来源:电子技术应用2013年第1期 作者:李志报1,2, 袁 亮1,2 2013/3/13 16:34:55 关键词: 自动控制系统|DCS|...

TCL 自动化测试

  • 2011年11月23日 15:01
  • 4.92MB
  • 下载

webdriver UI自动化测试执行JS脚本

webdriver UI自动化测试执行JS脚本 不管是selenium RC 还是 webdriver 其在浏览器端 最终还是通过JS来操作页面元素实现自动化测试的(可参见2者的实现原理),在做自动化...

使用cucumber ,想把一个完整的流程,写成一个可执行的自动化测试脚本,应该如何划分 Scenario

本着有好东西共享的原则,先跟你们说一个,可以在线进行自动化测试的网站,是阿里云的。 http://fts.aliyun.com/index.htm (云叔,给点广告费呗) 我这里举例用...

线索创建自动化测试脚本

  • 2015年01月14日 11:26
  • 4.32MB
  • 下载

自动化测试脚本

  • 2016年05月05日 10:18
  • 2KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TCL/EXPECT自动化测试脚本实例四 --- 批命令执行
举报原因:
原因补充:

(最多只允许输入30个字)