Forum Discussion

maxivis's avatar
Regular Visitor
8 years ago

Error on Conditional Goto

Hi guys, I'm pretty new to Groovy and SoapUI test suite, and I'm getting an error when I try to execute a Conditional Goto. The thing is, I have a couple of REST services which answer a JSON string, and I want to create a TestSuite in which service B gets executed only if service A returns an specific code on its answer. So, to make things more clear:
Service A returns something like:


        "parentObject": {
            "myCode": "0",



If code equals to "1" I should run service B, otherwise not. My Conditional Goto is:

contains(text(), "1")

also tried with

contains(., "1")

If I test this condition from the run icon in the Conditional Goto window, it solves correctly the condition, but if I run it from the TestSuite, I get the message "Missing matching condition, moving on" and executes the service B.
There are only a few search results in Google associated to this error, and only in one of them I've found another option with a Groovy script (link):


import groovy.json.JsonSlurper
responseContent = testRunner.testCase.getTestStepByName("Service A step").getPropertyValue("response")
slurperresponse = new JsonSlurper().parseText(responseContent)
myCode = slurperresponse.parentObject.myCode
if ('1'.equalsIgnoreCase(myCode.toString())) testRunner.gotoStepByName("Service B Step")
else"Some error")




but it didn't work, meaning that again the service B gets executed, event when it shouldn't).
I would really appreciate if you could give me a hand here, with any of both options, if you know why the Conditional Goto is showing that error or why the Service B gets executed with the Groovy Script.
Thanks in advance

1 Reply

  • rupert_anderson's avatar
    Valued Contributor



    JsonSlurper is a good option for parsing and checking the properties of your response, you will see a lot of examples of this e.g.


    see the last part of


    like this:

    import groovy.json.JsonSlurper
    def jsonString = """{
                       "invoice": {
                         "id": "12345",
                         "companyName": "Test Company",
                         "amount": 100.0
    def slurper = new JsonSlurper().parseText(jsonString)
    assert slurper.invoice.companyName=='Test Company'
    assert slurper.invoice.amount==100.0

    Could you perhaps post your whole JSON sample and we can get it sorted?