TCL扩展命令说明:
一、局部TCL命令
tsend:向终端窗口发送字符串
语法:tsend commandline [-r] [-s string1 [string2]] [-t timeout]
说明:commandline是向终端发送的命令字符串。如果有-r
参数,表示在命令返回值中将保存终端的返回信息, -t
参数指定发送命令等待多长时间(毫秒)返回,如果想
命令在指定的时间之前返回,可以添加 -s 参数,在 -s
参数中指定字符串string1和string2,那么一旦终端的返回
信息中包含string1或string2,tsend立即返回。
例子1:
#发送hello至终端维护窗口
tsend "hello"
#发送help至终端维护窗口,并搜索结果中是否有“Exit”语句,
#最后将结果输出至输出窗口
puts [tsend help -r -s Exit -t 2000]
msend:向终端窗口发送字符串
语法:msend 字符串 [等待字符串] [等待超时时间]
说明:'等待字符串'和'等待超时时间'为可选参数,如无此
参数,则向维护窗口发完字符后返回,如有等待字符串,则
发送字符串后,一直等待指定的字符串出现,TCL脚本才往
下继续执行,这里可以指定等待超时时间,即如超过超时时
间后任没有收到需等待的字符串,也往下执行脚本,超时时
间的单位是毫秒。
返回值:返回值是命令发送前到语句执行完成之间收到的字符串。
例子1:
msend "hello"
#发送hello至终端维护窗口
例子2
msend "hello" "command" 2000
#发送hello,然后等待终端的返回,如收到返回的字符串中包含“command”则
立即往下执行,如果在2秒中内没有收到,则2秒后往下执行。
fsend:向终端窗口发送文件
语法:fsend 文件名 [发送协议]
说明:发送协议与文件发送时的“发送协议”选择一致,1为xmodem协议,缺省
协议为9(ASCII模式)
例子1:
fsend c:\\a.txt
#以文本方式发送文件c:\a.txt至终端维护窗口
fsend aa.bin 1
#以Xmodem方式发送文件aa.bin至终端维护窗口
tclear:清除维护窗口
语法:tclear
tout:向TCL调试/输出窗口发送字符串
语法:tout 字符串
例子:
tout $i
#将变量i发送至TCL调试/输出窗口
toutclear:清空调试/输出窗口
语法:toutclear
toutshow:显示/隐藏TCL调试输出窗口
语法:toutshow 0/1
例子:
toutshow 1
#显示TCL调试/输出窗口
tbind:为本机绑定一个动态IP地址
语法:tbind ip地址 [网卡索引]
说明:网卡索引参数为可选,从0开始编号,编号顺序与
“IP绑定”页面中的顺序一致,缺省为0号网卡
例子:
tbind 10.0.0.1
#绑定一个动态IP地址'10.0.0.1'到本机的0号网卡
tunbind:为本机去除一个动态绑定的IP地址
语法:tunbind ip地址
返回值:去除成功返回0,去除失败返回-1
例子:
tunbind 10.0.0.1
#去绑定一个动态IP地址'10.0.0.1'
tunbindall:去除所有的动态绑定的IP地址
语法:tunbindall
tping:ping一个指定的IP地址,并返回响应时间
语法:tping IP地址 [包长] [超时时间]
说明:包长和超时时间为可选参数,缺省包长为32字节,超时时间为1秒
返回参数:返回响应时间,单位为毫秒,如超时则返回-1
例子:
set i [tping 10.0.0.1]
#ping 10.0.0.1,并将返回的响应时间存在变量i当中
trate:获取网卡速率
语法:trate 代码
代码取值为0~3:
0:网卡实时接送速率
1:网卡实时发送速率
2:网卡平均接送速率
3:网卡平均发送速率
例子:
set i [trate 0]
#获取网卡的当前接送速率,并保存至变量i中
tmail:Lotus Notes邮件发送命令
语法:tmail ?-s sendto ??-c copyto ??-t Title ??-b body ??-a attach
sendto:邮件收件人,如果有多个收件人,以逗号隔开,如:00118932,zhangshan,lisi
copyto:邮件抄送人,如果有多个抄送人,以逗号隔开
Title:邮件主题
body:邮件内容
attch:邮件附件文件的路径,如果有多个附件,以逗号隔开,注意:路径中的单斜杠"\"应该以双斜杠"\\"表示,如:C:\\boot.ini,d:\\test\\new0.tcl
举例:
tmail -s 00118932,zhaojinming -c 00118932 -t test -b "这是一个测试消息" -a "c:\\boot.ini"
tmail -s "zhaojinming 36687/huawei@huawei, yuanwenbo 00118932/huawei@huawei " -c 00118932 -t 测试 -b "这是一个测试消息" -a "c:\\boot.ini,d:\\test\\test.tcl"
TCL窗口快捷键:
F8:显示/隐含TCL调试输出窗口
F9:开始/停止执行脚本
F10:清空TCL脚本
二、全局TCL命令
tsend2 ?consolename ?commandline ??-r ??-s string1 [string2] ??-t timeout ??-nonewline
负责向指定终端发送命令字符串。并通过一些命令开关,控制发送时间延迟,获取终端返回信息,并可以将返回信息放入变量。
consolename: 打开的终端名字。
commandline: 向终端发送的命令字符串。
-r: 接收终端返回信息并作为命令返回值;
-s: 指定返回的字符串1和字符串2, 结尾出现这些字符串就命令结束;
-t: 置定发送命令等待时间(毫秒);
-nonewline:不自动添加换行符
tsend3 ?consolename ??-r var ??-s list ??-t timeout ?commandline ??-nonewline
负责向指定终端发送命令字符串。并通过一些命令开关,控制发送时间延迟,获取终端返回信息,并可以将返回信息放入变量。
consolename: 打开的终端名字。
commandline: 向终端发送的命令字符串。
-r: 接收终端返回信息放入变量var中;
-s: 指定返回的字符串list,list参数是一个列表, 结尾出现这些字符串就命令结束;
-t: 置定发送命令等待时间(毫秒);
-nonewline:不自动添加换行符
fsend ?consolename ?filename ??mode
负责向指定终端窗口发送文件
consolename: 打开的终端名字。
filename : 向终端发送的文件路径和名称
mode:发送协议 1为xmodem,9为ascii
topen ?consolename -6 ??-dos ??-ser port ??-tel ip port ??-ssh ip port ??-sftp ip port ??-ftp ip port ??-baud baud ??-data data ??-parity parity ??-flowctrl flowctrl ??-stop stop
打开一个临时的控制台连接。
consolename: 准备建立的控制台名称;
-6:IP地址为IPV6地址;
-ser: 准备建立的串口控制台;
-tel: 准备建立一个telnet控制台;
-ssh: 准备建立一个ssh控制台;
-sftp: 准备建立一个sftp控制台;
-ftp: 准备建立一个ftp控制台;
-dos: 准备建立一个ftp控制台;
port: 对于串口控制台是串口号(1,2,3),对于telnet是端口号,建立telnet控制台是,端口号可以省略,默认23;
ip: telnet控制台连接的服务器,可以是IP地址,也可以是服务器名称;
-baud baud: 设置串口的工作速率,缺省9600;
-data data: 设置串口的数据位,缺省8;
-parity parity: 设置校验位,缺省无;
-stop stop: 设置停止位,缺省1;
-flowctrl flowctrl: 设置流控,缺省无
tclose ?consolename
关闭一个已经打开的控制台。
tdisconnect ?consolename
断开一个控制台的连接。
treconnect ?consolename
重新开始一个控制台的连接
tget ?consolename ?var
获取一个控制台的所有字符,并保存至TCL变量中。
tclear ?consoleName
清除控制台信息
tpause
当TCL脚本执行到tpause时,执行过程会暂停,直到点击执行菜单中的恢复按钮。
tputs ?string
tputs命令把字符串string输出到TCL执行环境的结果窗口。
setcaseresult ?CaseID ?Result ??Info ??Attachment
GT3000结果回填命令
CaseID为用例ID号,Result为用例ID对应的测试结果,取值范围0~4,含义如下:
0-Passed 1-Failed 2-Investigated 3-Unavailable 4-Blocked
info为测试结果的描述
Attachment为测试结果附件的文件路径。
在使用setcaseresult前需要进行GT3000的版本关联。