I have been thinking for a long time that i need to write about this tool that i found. Its quite interesting that this tool is really helpful in automating many of the routine sessions that i as a tester came across. This is by far the best automation tool that i found for telnet sessions.
Imagine these scenarios :
- You need to do BSO authentications frequently when you switch networks
- Get intermittent logs from the server for analysis
- Run automated tests on remote systems (something which i have started to call as run-and-forget)
- stuck in traffic…no way
Lets get into what this tool is and how to use it.
The tool is for windows (one of the things that i felt bad). To make use of this tool, u will need the exe file, i.e., tst10.exe and an input commands file. The input file will has the first line as the hostname/IP and port, which is followed by alternating SEND and WAIT commands.
Consider this example. I need to connect to a server of IP – 192.168.1.100, where a telnet service is running at PORT – 2300. This is how my script/input file will look like :
SEND "show load; show cpu\m"
“\m” = \n in C/PERL/Java/most programming langunages = CR or in non-techie terms “Enter”. SEND, sends the commands to be executed and the WAIT that follows tried to match the string in the output of the SEND commands before it.
How to run it?. There are 2 ways to do it. You can open up the command prompt navigate to the directory where the files are and then issue this command -
tst10.exe /r:IN /o:OUT
where IN is the input file and OUT stores the complete output of the session, so that you can skim through the file and have a look at what happened. OR, put the command in a batch file and double click it every time you need to run it.
Here is the screen capture -
TST10 Screen Capture
How is it different from Net::Telnet module of Perl or something similar in TCL or Python? Think about it.
- Time to write the code – 30min to ? depending upon how complex the situation is
- Trying to match the output to with REGEX, which means that you need to spend time in coming up with the right regex. Now you have 2 problems in hand
- Testing time to make sure that the script is robust enough
So this is perfect! NO. This doesn’t work for ssh sessions. Since telnet is getting substituted by ssh in most of the servers due to the secure nature of the connection its kind of difficult to fit it in a normal installation of Linux. I’m not sure about the telnet-ssh thingie happening in Solaris or any of the other servers.
Is there something like this for Linux? No. Hey, but look at it this way. Its some relief for us on windows platform for scripting.
You can build complex automatons with this combined with a little bit of Perl and Outlook. Here is one typical scenario that i made and which i have presented as a white-paper.
- Outlook has a setting that detects for incoming mails with a specific subject line.
- When the mail comes it evokes a Perl script.
- The Perl script will go ahead an call the TST’s batch file, which initiates the TST10 session, connects to the remote server starts/runs the automation. The output will be stored in OUT file
- The Perl script will skim the OUT file for any errors reported during the run.
- Then it calls an FTP script that will go ahead and get the log files from the remote system
- The log files are read, the results extracted and neatly formatted into mail and send to the required email-ids
sounds complex, but this script gave me enough time to hut for a new job and quit the previous employer.
Who wrote this? Someone by the name of Albert Yale. His home page is – http://ay.home.ml.org/, sadly the site is no longer online.
What happened to the white-paper? It got rejected , humor was not the order of the day.
Download TST10 : tst10.exe | tst10.zip