How to run a command over SSH from Eggplant


I’ve searched through the forums, but couldn’t find what I was looking for. I’m not completely sure if Eggplant is capable of doing what I need… Let me explain.

Inside my Eggplant test scripts, at some point I need to invoke a TCL script that runs on a Unix based system and that TCL script would then perform a preparation task that is important for my target application that is running on the SUT machine (could be win2k, winxp, vista, mac). In order to do so, I need to somehow be able to ssh into that Unix box, then type in the command line and wait for it to finish.

Now, I would like to do that silently by somehow invoking a console window (terminal command window) preferably in an invisible mode, then do the SSH command to log into the Unix box (using RSA passwordless authentication) with the command line for running the TCL script and then wait for the output.
Something like ‘Execute(“ssh user@powerbook command”)’ in C/C++ prog languages…

I know that I can do all that in the ‘user mode’ way (simulating a user), but I would definitely like to have something like an ‘SSH library’ for communicating with other machines over ssh seamlessly.

My team is using Borlands SilkTest tool for GUI automation along with Eggplant and we’ve succeeded in doing that from SilkTest (SSH into the Unix based systems).

Is there a way to do that from Eggplant?


Best regards,

Good morning Ivan,

Try searching for ‘shell command’, or just ‘shell’. On page 248 of the SenseTalk Reference manual you have the formal explaination. You can do exactly what you want with this tool.

shell("ssh login@host:port ...")

Above is ‘quazi’ code, so you will need to experiment a bit.

Thanks a lot, Todd! That seems to solve my problem perfectly :slight_smile:

I’ve searched Eggplant and SenseTalk manuals using different keywords, but I may have searched for ‘shell’ only in Eggplant Ref Manual…

Thanks again,