Auto-increment Custom Properties for SOAPUI testSuite

10,411

Remember that internally SoapUI keeps everything in XML, and so all properties are just strings. Further, every Groovy Script step get instantiated as a new class, so it cannot "remember" any previous state.

You will have to do something like:

// read the property as a string
def uniqueUserPortion = testRunner.testCase.testSuite.project.getPropertyValue("UniqueUserPortion")
// convert it to an Integer, and increment
def uniqueUserPortionInc = uniqueUserPortion.toInteger() + 1
// set the property back as string
testRunner.testCase.testSuite.project.setPropertyValue("UniqueUserPortion", uniqueUserPortionInc.toString())
// check
log.info testRunner.testCase.testSuite.project.getPropertyValue("UniqueUserPortion")
Share:
10,411
david_jr
Author by

david_jr

Updated on June 05, 2022

Comments

  • david_jr
    david_jr almost 2 years

    I am looking to auto-increment a Custom Property as my SOAPUI test is running. Currently my tests require that there be a unique portion, referred to as UniqueUserPortion, that get incremented as I test for uniqueness in usernames/emails. Is there a way for me to increment this custom property (#Project#UniqueUserPortion), as I will need it to be unique for the next step which is the check for unique username? Check for unique email:

        {  
      "UpdateIdentityRequest":{  
        "guid":"${#Project#UserGUID}",
        "emailAddress": "[email protected]",
        "screenName": "UpdateUser${#Project#UniqueUserPortion}",
        "inputSystem":"${#Project#UserInputSystem}"
      }
    }
    

    Check for unique username:

        {  
      "UpdateIdentityRequest":{  
        "guid":"${#Project#UserGUID}",
        "emailAddress": "UpdateUser${#Project#UniqueUserPortion}@test.com",
        "screenName": "testUser2011",
        "inputSystem":"${#Project#UserInputSystem}"
      }
    }