在 SOAPUI Rest 测试中添加和断言随机值
Adding and asserting random value in SOAPUI Rest testing
我一直在尝试各种方法来发送随机值作为 Rest 测试用例有效负载的一部分。我还需要在返回的响应中断言该随机值。
我能够向负载添加一个随机值。但我无法在响应中断言该随机值。
以下方法我都试过了
添加一个groovy脚本并设置一个全局变量。
def randomValue = java.util.UUID.randomUUID()
com.eviware.soapui.SoapUI.globalProperties.setPropertyValue( "randomValue", 随机值 )
然后在负载中使用它作为 ${randomValue}
这样我就可以在请求和断言中访问它。
这与一个请求相得益彰。当使用大量并发请求执行负载测试时,请求具有相同的值而不是随机值。
使用属性测试步骤设置 属性。
${=(int)(Math.random()*100)
这是向请求证明一个随机值。但断言随机值是新值。与请求中的不一样
非常感谢任何帮助。
你走在正确的轨道上。
从测试设置脚本中设置随机值,例如:
def randomValue // = whatever you like: UUID.randomUUID() or Math.random() work fine
testCase.setPropertyValue( "randomValue", randomValue.toString() )
这将为每个测试生成一次随机值运行。然后从你的测试的任何地方,你用 属性 扩展引用这个作为 ${#TestCase#randomValue}
.
可能您需要解析和构建您的请求
- 使用
JsonSlurper
或xmlSlurper
解析请求
- 在请求中插入随机值
3.Build Json/xml 再次使用 JsonBuilder/xmlBuilder
def builder = new JsonBuilder(your_changed_json)
def json = builder.toPrettyString()
json = groovy.json.StringEscapeUtils.unescapeJava(json)
将以上json/xml设置为您的要求
step.testRequest.setRequestContent(json)
我一直在尝试各种方法来发送随机值作为 Rest 测试用例有效负载的一部分。我还需要在返回的响应中断言该随机值。
我能够向负载添加一个随机值。但我无法在响应中断言该随机值。
以下方法我都试过了
添加一个groovy脚本并设置一个全局变量。
def randomValue = java.util.UUID.randomUUID() com.eviware.soapui.SoapUI.globalProperties.setPropertyValue( "randomValue", 随机值 )
然后在负载中使用它作为 ${randomValue} 这样我就可以在请求和断言中访问它。 这与一个请求相得益彰。当使用大量并发请求执行负载测试时,请求具有相同的值而不是随机值。
使用属性测试步骤设置 属性。
${=(int)(Math.random()*100)
这是向请求证明一个随机值。但断言随机值是新值。与请求中的不一样
非常感谢任何帮助。
你走在正确的轨道上。
从测试设置脚本中设置随机值,例如:
def randomValue // = whatever you like: UUID.randomUUID() or Math.random() work fine
testCase.setPropertyValue( "randomValue", randomValue.toString() )
这将为每个测试生成一次随机值运行。然后从你的测试的任何地方,你用 属性 扩展引用这个作为 ${#TestCase#randomValue}
.
可能您需要解析和构建您的请求
- 使用
JsonSlurper
或xmlSlurper
解析请求 - 在请求中插入随机值
3.Build Json/xml 再次使用 JsonBuilder/xmlBuilder
def builder = new JsonBuilder(your_changed_json)
def json = builder.toPrettyString()
json = groovy.json.StringEscapeUtils.unescapeJava(json)
将以上json/xml设置为您的要求
step.testRequest.setRequestContent(json)