何来更改SOAPUI请求的值?

时间:2015-10-28 10:11:17

标签: testing soap automation automated-tests soapui

将Response Change中的值转换为某些字符串并保存。

  

E.g。来自req1:回复:公司名称= Abc我想取这个名字   从响应,更改为xyz并保存。

但每次我必须改变,下次我会跑,然后我会得到xyz,这次我想改成一些字符串,然后保存。有可能自动完成吗?

由于

1 个答案:

答案 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>

希望它有所帮助,