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")
Author by
david_jr
Updated on June 05, 2022Comments
-
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}" } }