CiscoTool_v1/netmiko_Api/utils/autoTest/SRW_test.py

93 lines
5.3 KiB
Python

from netmiko import ConnectHandler, NetmikoAuthenticationException, ReadTimeout, ConnectionException, NetMikoTimeoutException
from getpass import getpass
from pprint import pprint
import sys
import time
type = "cisco_ios_telnet"
host = sys.argv[2]
username = ""
password = ""
# R1 = {
# 'device_type':"cisco_ios_telnet",
# 'ip':"172.16.20.17",
# 'username':"",
# 'password':"",
# 'port': 23,
# # 'password':
# # 'secret':'',
# }
R1 = {
'device_type':type,
'ip':host,
'username':username,
'password':password,
'port': int(sys.argv[3]),
# 'password': '',
'secret':'',
}
output = ""
test=""
# print(sys.argv)
# print(R1)
try:
# print(R1)
with ConnectHandler(**R1) as connect:
# #change mode
output += connect.send_command_timing("clear line "+ sys.argv[4], strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
output += connect.send_command_timing("\n" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
output += connect.send_command_timing("connect p"+sys.argv[5] , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
output += connect.send_command_timing("\n" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
if "User Name" in output:
if "press ENTER key" in output:
output += connect.send_command_timing("\n" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
output += connect.send_command_timing("cisco" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
output += connect.send_command_timing("cisco" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
output += connect.send_command_timing("n" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
output += connect.send_command_timing("\n" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
output += connect.send_command_timing("q" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
# print(output)
# print(sys.argv[6])
if "#" in output[len(output)-20:len(output)]:
# print("nice!")
# print(sys.argv[6])
for x in sys.argv[6].split(","):
# print(x)
test +="###"+ connect.send_command_timing(x , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
while "More:" in test.split("\n")[len(test.split("\n"))-1]:
test += connect.send_command_timing(" " , strip_prompt=False, strip_command=False, delay_factor=200, last_read=0.0001, read_timeout=35)
# print(test)
# time.sleep(0.1)
# if "More: " in test:
# test += connect.send_command_timing(" " , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
# time.sleep(2)
# test += connect.send_command_timing(" " , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
# time.sleep(2)
# test += connect.send_command_timing(" " , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
# test += connect.send_command_timing("show version" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
# print(test)
# else:
# output += connect.send_command_timing("show abc" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=0.5, read_timeout=35)
# output += connect.send_command_timing("enable" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
# output += connect.send_command_timing("\n" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=1.0, read_timeout=35)
# if "[yes/no]" in output:
# output += connect.send_command_timing("no" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=10.0, read_timeout=35)
# output += connect.send_command_timing("no" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=10.0, read_timeout=35)
# output += connect.send_command_timing("\n" , strip_prompt=False, strip_command=False, delay_factor=400, last_read=0.5, read_timeout=35)
print(test)
# print("FINISH")
connect.disconnect()
except NetmikoAuthenticationException:
print("Netmiko Authentication xxError")
except NetMikoTimeoutException:
print("NetMikoTimeoutException xxError")
except ConnectionRefusedError as err:
print("Connection Refused xxError") #Connection Refused
except ValueError:
print("Mode xxError")
except ReadTimeout:
print("xxError: Read Timeout")
except ConnectionException:
print("Connection xxError")