Forum Discussion

singam's avatar
singam
Visitor
4 years ago
Solved

Invoking the ready api in the slave host using jenkins over SSH

I have jenkins master running on the linux host and ssh agent  running on the Windows host,

I installed the  "ready api:run functiona test " plugin on the Jenkins master and configured the ssh agent host.. 

 

Trying to invoke the ready api application which exists on the windows slave host.

in the following screen there is no option to provide the agent host ip or host name.

 

 

Getting the following exception in jenkins while building it:

Failed to load testrunner file [C:\Program Files\SmartBear\ReadyAPI-3.6.0\bin\testrunner.bat]
hudson.AbortException: Could not start ReadyAPI functional testing.
	at com.smartbear.ready.jenkins.JenkinsSoapUIProTestRunner.perform(JenkinsSoapUIProTestRunner.java:129)
	at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:78)
	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:741)
	at hudson.model.Build$BuildExecution.build(Build.java:206)
	at hudson.model.Build$BuildExecution.doRun(Build.java:163)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:504)

I do have the above path on the slave host. 

i am not sure if the above plugin is limited only to run the test runner on the localhost(jenkis master host)?

please let me know how i can invoke the ready api on the remote host(agent host) using ssh ,i can not use http or https for webstart.

Thanks

Giri

.

 

  • Hi,

     

    You can run testrunner using ssh if you have ssh-agent running on the Jenkins machine you want to run testrunner on and testrunner is installed there.  You can use a ssh command like the below for a remote start of tesrunner.

     

    ssh username@hostname '(/ReadyAPI/bin/testrunner.sh testrunner_arguments)'

     

    If you have a ssh key you can use the -i argument with the ssh command to specify the ssh key.  The Jenkins job can be a shell script command to do this.

     

     

    Regards,

    Marcus James

    SmartBear Support

2 Replies

    • MarcusJ's avatar
      MarcusJ
      Moderator

      Hi,

       

      You can run testrunner using ssh if you have ssh-agent running on the Jenkins machine you want to run testrunner on and testrunner is installed there.  You can use a ssh command like the below for a remote start of tesrunner.

       

      ssh username@hostname '(/ReadyAPI/bin/testrunner.sh testrunner_arguments)'

       

      If you have a ssh key you can use the -i argument with the ssh command to specify the ssh key.  The Jenkins job can be a shell script command to do this.

       

       

      Regards,

      Marcus James

      SmartBear Support