在測試過程中,在具體測試某一個功能點時,往往需要為此進行大量的配置。為了簡化測試過程,我們可以把所有的配置命令放在一個文本文件中,然后使用測試腳本來執行這些命令。這樣就不需要再手工進行配置了,費時費力。
基于如上考慮,編寫了下面的腳本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中的命
文章來源于領測軟件測試網 http://www.kjueaiud.com/