I was wondering if you guys have a suggestion for a better way of cycling through password.
My current script always hang at the if statement.
Here is my code:
Code:
prompt = "A:"
currentTab = crt.GetScriptTab()
password = ["wrongPass", "rightPass"]
def main():
x = 0
currentTab.Screen.Synchronous = True
currentTab.Screen.Send("kernel\r")
while currentTab.Screen.WaitForString("assword:") == True:
currentTab.Screen.Send(password[x]+"\r")
if currentTab.Screen.WaitForString(prompt) == True:
x = x + 1
currentTab.Screen.Send("kernel\r")
else:
break
currentTab.Screen.Send("finished")
main()
Here is my output:
Quote:
*A:# kernel
Password:
MINOR: CLI Unidentified command.
*A:# kernel
Password:
Type "exit" to return to CLI.
1->
|
As you can see the right password was enter on the second try. However, the script will hang at the waitforstring(prompt) line of code and never send the "finished" string. It is waiting for "A:" but we already log into the kernel and it doesn't go to the else statement to break out of the while loop.