Page 1 of 1

Run tests on multiple machine through single Jenkins server.

Posted: Tue Apr 10, 2018 8:24 am
by tejas.deshpande
I have Jenkins test server to execute Ranorex tests set up on one machine.
How to keep the server on the same machine but perform the testing on a different machine on the local network?
P.S. The application being tested is Web-based.

Re: Run tests on multiple machine through single Jenkins server.

Posted: Tue Apr 10, 2018 9:31 am
by odklizec
Hi,

What you need to do is to create a Jenkins slave machine connected to master. This guide should help you:
https://wiki.jenkins.io/display/JENKINS ... on+Windows
However, instead of running the jenkins slave as a service, you need to start slave.jnlp from command line. So perform all steps from the guide, but instead of running slave as a service, create a batch command, which will start slave from jnlp.

Once slave is connected to master, you must create a jenkins job, which will start the job on slave, instead on master. And of course, there must be installed Ranorex on slave machine. Hope this helps?

Re: Run tests on multiple machine through single Jenkins server.

Posted: Mon Apr 23, 2018 2:13 pm
by MOLIS
Hi,
I try to launch Test auto (exe) from Jenkins on my server and Ranorex on my slave node but I can't..
I received always the same error message like this:

Building remotely on slave-agent (Dell) in workspace Z:\Ranorex\MOLIS_Performance\MOLIS_Performance\bin\Debug
Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to JNLP4-connect connection from nbar521403.cgm.ag/10.173.147.135:62030
at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1737)
at hudson.remoting.UserResponse.retrieve(UserRequest.java:313)
at hudson.remoting.Channel.call(Channel.java:952)
at hudson.FilePath.act(FilePath.java:998)
at hudson.FilePath.act(FilePath.java:987)
at hudson.FilePath.mkdirs(FilePath.java:1170)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1202)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:574)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)
at hudson.model.Run.execute(Run.java:1727)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:429)
java.nio.file.FileSystemException: Z:\Ranorex\MOLIS_Performance\MOLIS_Performance\bin\Debug: Unable to determine if root directory exists
at java.nio.file.Files.createDirectories(Unknown Source)
at hudson.FilePath.mkdirs(FilePath.java:3001)
at hudson.FilePath.access$900(FilePath.java:208)
at hudson.FilePath$Mkdirs.invoke(FilePath.java:1178)
at hudson.FilePath$Mkdirs.invoke(FilePath.java:1174)
at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2816)
at hudson.remoting.UserRequest.perform(UserRequest.java:210)
at hudson.remoting.UserRequest.perform(UserRequest.java:53)
at hudson.remoting.Request$2.run(Request.java:364)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at hudson.remoting.Engine$1$1.run(Engine.java:94)
at java.lang.Thread.run(Unknown Source)
Caused: java.io.IOException: remote file operation failed: Z:\Ranorex\MOLIS_Performance\MOLIS_Performance\bin\Debug at hudson.remoting.Channel@c8238c:JNLP4-connect connection from nbar521403.cgm.ag/10.173.147.135:62030

What can I do it to solve this?

Many thanks for your support
Regards
Alain Preto

Re: Run tests on multiple machine through single Jenkins server.

Posted: Mon Apr 23, 2018 2:28 pm
by odklizec
Hi,

If I understand the error right, you are trying to build your test from a network drive? You should not use network/shared drives for building tests or even running them from there! You should use version control system (like SVN, GIT, TFS, etc...), configure your Jenkins job to get the solution from VCS (using appropriate VCS plugin) and then build and run it locally (on a slave machine).