将Response Change中的值转换为某些字符串并保存。
E.g。来自req1:回复:公司名称= Abc我想取这个名字 从响应,更改为xyz并保存。
但每次我必须改变,下次我会跑,然后我会得到xyz,这次我想改成一些字符串,然后保存。有可能自动完成吗?
由于
答案 0 :(得分:0)
我不确定这是您正在寻找的内容,并且您不清楚您是否正在使用XML响应,json ......
假设您只想更改响应中的xml标记值并将其设置为在其他位置使用它的属性,那么您可以在下面添加当前请求testStep的groovy脚本testStep。
例如,如果您有以下回复:
<Response xmlns="sample">
<CompanyName>Abc</CompanyName>
</Response>
然后在groovy脚本中:
// get testStep by it's name
def testStep = context.testCase.getTestStepByName('SOAP Request 2')
// get the response
def xml = new XmlSlurper().parseText(testStep.getPropertyValue('response'))
// update the companyName tag content
def node = xml.'**'.findAll { it.name() == 'CompanyName' }.each{ it.replaceBody('xyz') }
// save the response in a property
context.testCase.setPropertyValue('updatedResponse',groovy.xml.XmlUtil.serialize( xml ))
脚本获取响应,更新值然后将其保存在testCase属性中,以便在请求中直接在其他地方使用它,您可以使用以下符号:
<soap:envelope ...>
<soap:body>
${#TestCase#updatedResponse}
</soap:body>
</soap:body>
希望它有所帮助,