Igor Kromin |   Consultant. Coder. Blogger. Tinkerer. Gamer.

I've been doing testing with SoapUI testrunner.sh script recently and have come across a very peculiar behaviour. If you run a specific test case, testrunner.sh will not execute the Groovy Setup Script for the test suite that the test case belongs to. However at the same time if you enable response capture and don't specify the test suite, the test suite name will appear as a part of the request/response file name. It seems that SoapUI is still processing the test suite, just not running any of its setup code.

My setup scripts were simple for the purpose of this post, they simply logged a message...
Test Suite -
log.info("== Test Suite Setup ==")
Test Case -
log.info("== Test Case Setup ==")

When I ran the test case with this command:
testrunner.sh -a -s TestSuite1 -c TestCase1 -e https://some_server:8001/context_root/service_uri -r soapui-project.xml

...all I saw in the logs was the message from my test case setup script...
[SoapUITestCaseRunner] Running TestCase [TestCase1]
[log] == Test Case Setup ==
[SoapUITestCaseRunner] Running SoapUI testcase [TestCase1]

The test suite setup is not executed. However if I leave the test case out and just run the test suite as a whole like so:
testrunner.sh -a -s TestSuite1 -e https://some_server:8001/context_root/service_uri -r soapui-project.xml

...the output changed to...
[SoapUITestCaseRunner] Running TestSuite [TestSuite1], runType = SEQUENTIAL
[log] == Test Suite Setup ==
[log] == Test Case Setup ==
[SoapUITestCaseRunner] Running SoapUI testcase [TestCase1]

Both the test suite and test case setup scripts are executed.

According to SoapUI Support, "This is not necessarily a limitation." However I would argue that this is indeed a huge limitation and that the test suite setup should be executed every time a test case is run.

Here's a screenshot of my setup in case the above is not clear. The same behaviour is observed in the SoapUI GUI.

There really is no good workaround for this apart from putting your setup code into the test case or running the entire test suite every time.


Did you like this post or found it useful? Considering supporting this Blog to keep its web servers running, any amount helps! Thanks!
Have comments or feedback on what I wrote? Please share them below!
comments powered by Disqus
Other posts you may like...