通过soapUI中的groovy从响应更新属性文件

通过soapUI中的groovy从响应更新属性文件,groovy,soapui,Groovy,Soapui,是否可以根据从SoapUI接收的响应xml,通过groovy脚本直接更新属性文件 我尝试了以下步骤 def ui = com.eviware.soapui.support.UISupport def responseAsXml = context.expand( '${Simple Search - Request 1#ResponseAsXml}') def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context);

是否可以根据从SoapUI接收的响应xml,通过groovy脚本直接更新属性文件

我尝试了以下步骤

def ui = com.eviware.soapui.support.UISupport


def responseAsXml = context.expand( '${Simple Search - Request 1#ResponseAsXml}')
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context);
def holder = groovyUtils.getXmlHolder(responseAsXml);


def formataddress = holder.getNodeValues("//result//formatted_address");


props = new java.util.Properties();
props.load( new FileInputStream('testProps.properties') );


def  sQA_PROP_LOCATION = props.getProperty('QA_PROP_LOCATION');
基本上,我需要更新
abc.property
文件中的
QA\u PROP\u LOCATION
属性值,并在响应xml中使用
格式化的\u地址
节点值

响应XML如下

<GeocodeResponse>
   <status>OK</status>
   <result>
      <type>locality</type>
      <type>political</type>
      <formatted_address>Rio de Janeiro, Brazil</formatted_address>
      <address_component>
         <long_name>Rio de Janeiro</long_name>
         <short_name>Rio de Janeiro</short_name>
         <type>locality</type>
         <type>political</type>
      </address_component>
      <address_component>
............

好啊
地点
政治的
巴西里约热内卢
里约热内卢
里约热内卢
地点
政治的
............

干杯

嗨,不太清楚你为什么要改变“abc.property”。如果您想为同一个属性定义不同的值,我建议您创建project(或TestSuite)属性,并按照我的意图中所述进行更新。我的意图是将维护属性(任何级别)作为一个单独的文件进行更新,而不是在SoapUI(您在上面提到的地方)中进行更新。看起来您需要设置属性值并将其写入文件。