引言
最近調試設備的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詳解