Forum Discussion

SteveBosman's avatar
SteveBosman
Frequent Visitor
9 years ago

ReadyAPI slow compared to SoapUI

 I am switching my team's automation tests to ReadyAPI 1.6.0 from SoapUI 5.2.1. We only have licenses for SoapUI NG Pro. The tests are run nightly on Jenkins running on a CentOS 6 box using a simple ant task that calls testrunner.sh. Unfortunately the time to run the tests is significantly worse with ReadyAPI (5 hours) compared to using SoapUI (50 minutes). 


By analysing log files I have managed to find the culprit, and extract a minimal test suite demonstrating the issue. The minimal version takes 6 seconds in SoapUI and around 2 minutes in ReadyAPI. I would like to know what could be making it slow and what I can do about it.

 

Fundamentally I have

 

testSuiteA (disabled)

  testCaseA (2 properties as inputs, 1 as output)

    testStepA groovy

testSuiteB (enabled)

  testCaseB 

    testStepB (disabled) set properties and run testCaseA

    testStepC groovy method that calls testStepB using  testRunner.runTestStepByName

 

testStepA has logging when it finishes

testStepC has logging as soon as its call has finished

 

snippet of log:

 

[exec] 09:14:24,942 INFO [SoapUIProTestCaseRunner] running step [Generate String]
[exec] 09:14:24,959 INFO [SoapUIProTestCaseRunner] Running TestCase [Generate Randomised String]
[exec] 09:14:24,959 INFO [SoapUIProTestCaseRunner] running step [Generate String]
[exec] 09:14:24,960 INFO [log] Setting test case property
[exec] 09:14:24,960 INFO [log] Finished setting test case property
[exec] 09:14:27,890 INFO [SoapUIProTestCaseRunner] Finished running TestCase [Generate Randomised String], time taken: 0ms, status: FINISHED
[exec] 09:14:28,366 INFO [log] finished call
[exec] 09:14:28,367 INFO [log] 2932; newString: fixedString

 

As you can see from the highlighted times there is a significant delay before and after SoapUIProTestCaseRunner says the call has finished and the calling groovy script regains control.