引言
最近调试设备的wifi驱动,测试吞吐量时,需要不断的重复的输入指令,并查看相关的打印信息,测试时间较长,为了节省时间和力气,利用SecureCrt的录制功能加上简单修改,实现自动化输入功能,各位可以利用这个功能结合自己的实际情况录制编或写脚本,提高工作效率。
SecureCrt的脚本生成
1、录制脚本
SecureCrt有录制脚本的功能,录制完成后只需根据自己的实际情况略加修改和调整,十分方便,在这里以一个每两秒打印一次cat信息的脚本为例
录制
点击开始录制,然后输入指令,最后停止录制,会保存一个vbs脚本:
#$language = "VBScript"
#$interface = "1.0"
//屏幕刷新显示
crt.Screen.Synchronous = False
' This automatically generated script may need to be
' edited in order to work correctly.
Sub Main
While 1
crt.Screen.Send "cat /xxx/xxx/xxx/xxx/xxx" & chr(13)
crt.Sleep 2000
WEnd
End Sub
以上是录制生成的vbs脚本,根据自己的测试需求添加了一个while循环,和两秒的等待间隔。
2、自主编写脚本
secureCRT支持三种脚本语言:vbs,Js,python。三种脚本分别以一下三种形式开头:
//vbs
# $language = "VBScript"
# $interface = "1.0"
//js
# $language="JScript"
# $interface="1.0"
//python
# $language = "Python"
# $interface = "1.0"
脚本编写实例
python脚本
# $language = "python"
# $interface = "1.0"
#此方法表示你必须先登录一台服务器然后再去telnet到另外一台服务器
#主机的ip
host = '11.1.1.1'
#主机的用户名
user = 'root'
#主机的密码
passwd = 'password'
def main():
#向屏幕光标后发送以下文字内容,\r表示回车执行
crt.Screen.Send('telnet '+host+'\r')
crt.Screen.WaitForString('login:')
crt.Screen.Send(user+"\r")
crt.Screen.WaitForString('password:')
crt.Screen.Send(passwd+"\r")
#使用默认弹窗提示信息
crt.Dialog.MessageBox('登录成功!')
main()
js脚本
# $language="JScript"
# $interface="1.0"
#主机的ip
host = '11.1.1.1'
#主机的用户名
user = 'root'
#主机的密码
passwd = 'password'
crt.screen.Send("telnet "+host+"\n");
crt.screen.WaitForString("login:");
crt.screen.Send(root+"\n");
crt.screen.WaitForString("password:");
crt.screen.Send(passwd+"\n");
#使用默认弹窗提示信息
crt.Dialog.MessageBox('登录成功!')
vbs脚本
#$language = "VBScript"
#$interface = "1.0"
#主机的ip
host = '11.1.1.1'
#主机的用户名
user = 'root'
#主机的密码
passwd = 'password'
Sub Main
crt.Screen.Send "telnet "+host & chr(13)
crt.Screen.WaitForString "login:"
crt.Screen.Send "root " & chr(13)
crt.screen.WaitForString "password:"
crt.Screen.Send passwd & chr(13)
crt.Dialog.MessageBox "登录成功!"
End Sub
参考
SecureCrt脚本(一)顶级对象之Crt
SecureCrt脚本(二)二级对象之Dialog
SecureCrt脚本(三)二级对象之Screen详解