Question

I have a web project with two existing Jenkins jobs: One for building and one for deploying the application. Now I’ve created a third job which should run a Robot test suite. The problem is that it does not find the right directory when pybot command is given in shell script (apparently jenkins tries to find it in /home/jenkins/apache/apache-tomcat-7.0.26/temp/hudson1176412779575315348.sh).

Robot test suite is included in version control, but how should Jenkins be configured so that it finds the test? The new job has source code management set to none because the previous jobs (build&deployment) will deploy and start the application.

Or should I just abandon the idea of a separate robot test job and try to add the robot suite as a step to the deployment job?

Was it helpful?

Solution

I think it is a good idea to have a separate job for your Robot Tests. You might want to launch your test even if there is no new build or deploy of your SUT (e.g. because you added a test).

So, if your Software under test is already deployed and up and running when your Robot Jenkins job starts, you still have to do a "source code management" step to download the source of your test on your slave in the workspace of your job. And then in the build section you will have a shell step that actually launch the Robot Tests.

If you get an error like

$ pybot mytest.txt
[ ERROR ] Parsing 'mytest.txt' failed: Data source does not exist.

Then it means your Robot tests were not downloaded on your slave in your workspace.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top