SOAPUI testSuite 的自动递增自定义属性

Auto-increment Custom Properties for SOAPUI testSuite

我希望自动增加自定义 属性,因为我的 SOAPUI 测试是 运行。目前我的测试要求有一个唯一的部分,称为 UniqueUserPortion,随着我在 usernames/emails 中测试唯一性而增加。有没有办法让我增加这个自定义 属性 (#Project#UniqueUserPortion),因为我需要它在下一步检查唯一用户名时是唯一的? 检查唯一的电子邮件:

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

检查唯一用户名:

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

请记住,SoapUI 在内部将 所有内容 保存在 XML 中,因此所有属性都只是字符串。此外,每个 Groovy 脚本步骤都被实例化为一个新的 class,因此它不能 "remember" 任何先前的状态。

您将必须执行以下操作:

// 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")