在进行命令终端软件开发及通信道路开发时,常常需要测试终端的稳定性,此时通过命令脚本自动化的敲命令可以节省许多人力,这里写了一个SecureC
RT终端模拟软件下python实现的自动化测试脚本,可以从命令列表中随笔选取命令进行测试,具有设置睡眠时间及超时发现功能。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| # $language = "python" # $interface = "1.0"
# This automatically generated script may need to be # edited in order to work correctly.
import time import math import random
start_time = time.time() end_time = time.time() cmd = "show sw" cmd_list = [ 'show interface switchport xge 1/0/20', 'show vlan all', 'show arp all', 'show mac-address all', 'show trap message filter level 1' ] cmd_list_len = len(cmd_list) - 1 time_sleep = 0.1 time_out = 30
def Main(): crt.Screen.Send("co te\r\n") crt.Screen.Send("int xge 1/0/6\r\n") while True: end_time = time.time() crt.Screen.Synchronous = False #crt.Screen.Send(cmd) CmdNum = random.randint(0,cmd_list_len) crt.Screen.Send(cmd_list[CmdNum]) crt.Screen.Send("\r\n") running_time = end_time - start_time running_min = math.ceil(running_time / 60) - 1 if (crt.Screen.WaitForCursor(time_out)): #crt.Screen.Send("\r\n") #crt.Screen.Send("\r\n") #crt.Screen.Send("\r\n") #crt.Screen.Send("\r\n") #crt.Screen.Send("\r\n") if CmdNum == 10: time.sleep(10) else: time.sleep(time_sleep) #time.sleep(100 / (running_time / 1000)) else: msg = "超时无响应,运行报告:\n" + \ "running time : " + str( running_min ) + " min " + str(running_time - running_min * 60 - time_out) + " s " + "\n" + \ "start ms : " + str(start_time) + "\n" + \ "ent ms : " + str(end_time) + "\n" crt.Dialog.MessageBox(msg,"session",64|2)
Main()
|