CI/CD ReadyAPI! Pipeline Execution in Azure Cloud Query?
Ok - there's a huge CI/CD environment here using VSTS/Git/Jenkins and I'm trying to introduce ReadyAPI! as the way forward.
I need to investigate running a ReadyAPI! project remotely in the cloud and I know there's a commandline function (testrunner.bat that looks pretty whizzzy that I've never used before) but there are some AzurePipeline / VSTS plugins that allow you to run SoapUI tests as part of your pipeline.
There are 3 options I've seen
SoapUI Test Task <-- for SoapUI (105 installs)
SoapUI Tasks <-- for SoapUI (477 installs - no longer supported by original code author)
SoapUI Pro for Azure DevOps <-- for SoapUI Pro (51 installs)
I've never used ReadyAPI! in a pipeline before and getting it in the pipeline is essential if I'm going to be able to convert the whole programme from nodeJS, REST-assured, etc. frameworks to using ReadyAPI!
The company's willing to spend the money on the licenses and I can qualify why we should be using ReadyAPI! over the various other options.
has anyone got any thoughts on this? This CI/CD stuff is way over my head - I've never used SoapUI/ReadyAPi! in a CI/CD environment - so would welcome any thoughts
Obviously I can see only 1 of the options is for the Pro version and 1 of the open source versions is no longer supported - but if anyone has any experience of CI/CD running ReadyAPI! test in the cloud, I'd welcome your advice!
Cheers to all!
Solved! Go to Solution.
Command line execution is always better over UI.
testrunner utilities are already available with both Pro and Open Source to execute the tests unattended. All it requires is to pass the required parameters such as soapui project, any parameters to override values at run time, and of course reporting options.
If the above (passing command line arguments) is little cumbersome, then you write a wrapper utility or use build tools such as Apache-Ant or Maven or Gradle(haven't heard though any one asking questions around it).
Personally, use apache-ant tool. Create build script with different targets for different projects / suites which internally calls the testrunner utility with arguments. And executing the tests and generating reports would be at the tip of calling the target.
For example there are targets defined, say, IntegrationTests, RestTests, and Reports.
You may run just below command to run Integration tests defined a project and then run reports.
ant IntegrationTests Reports
The benefit is the same above command can be run from Jenkins as well.
Of course, even tests can be executed using testrunner utility from Jenkins.
You may find sample build script @ github
I'll be reviewing this over the weekend,
looking at this now - cheers!