views:

458

answers:

2

My initial tests have shown that Robot won't work without an active, visible desktop. For example, while a scheduled task (or executed command from the continuous integration server) may be able to start robot as a command-line process, Robot will actually fail to execute the recorded script.

Logging into the build machine to allow it an "active desktop" is not an acceptable solution.

Am I missing something? Is it possible to run a pre-recorded Rational Robot script on a continuous integration server in a manner that doesn't require the machine to be physically logged into?

A: 

You can run Rational Robot from the command line, so you should be able to set up a scheduled task to run a .BAT file to do this for you. The command is something like:

[path to Rational Robot]\rtrobo [script file] /user "user name" /project [project file] /play /build "build name" /nolog /close

The Robot documentation will have other arguments you can pass in, depending on your situation.

If a simple scheduled task doesn't work, then you can try setting up a STAF (http://staf.sourceforge.net/index.php) environment and create a job to run this.

Good luck :)

Patrick Cuff
Thanks for the response. I added clarification. The original question was purposely vague to test StackOverflow's editing capabilities and process. I know about the command-line capabilities, but the lack of a live desktop seems to break Robot's ability to test.
Chad
+1  A: 

Unfortunately, Robot does require that you are logged on to the machine and that the desktop is not locked.

So, no, you are not missing something.

Depending on your situation, though, you may be able to work around the issue. Can you clarify what type of application you are trying to test? If it is a web app, or a client app that is easily installed/copied, you might be able to have Robot run on a vmware image, rather than directly on the build server itself.

Tom E
Our app is easily installable.We actually will already be running on a virtual machine, with tests being kicked off by a continuous integration server. Are you saying there might be a way to kick off a vmware image that is "logged into" when the server that's kicking it off isn't "logged in"?
Chad
yes, that's precisely what I am saying.
Tom E