如何通过SoapUI中的groovy脚本从Currency Converter服务响应中获取响应值?

时间:2014-07-31 12:28:42

标签: service groovy scripting automation soapui

我正在使用货币转换器 webservice在SoapUI Pro中练习groovy脚本。

在那里,我创建了一个属性,该属性应该通过groovy脚本获得货币转换器服务的响应/输出。

为此,我尝试了以下脚本来获取所有原始响应数据:(

我需要获得确切的结果,即转换后的值并分配给属性。

有人能为我提供正确的groovy脚本吗?

请求:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://www.webserviceX.NET/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:ConversionRate>
         <web:FromCurrency>USD</web:FromCurrency>
         <web:ToCurrency>INR</web:ToCurrency>
      </web:ConversionRate>
   </soapenv:Body>
</soapenv:Envelope>

响应:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
      <ConversionRateResponse xmlns="http://www.webserviceX.NET/">
         <ConversionRateResult>60.54</ConversionRateResult>
      </ConversionRateResponse>
   </soap:Body>
</soap:Envelope>

感谢
Karunagara Pandi

1 个答案:

答案 0 :(得分:1)

首先,您需要访问响应。

def conversionRateResult = context.expand( '${step_name#Response#//*:ConversionRateResult}' )

然后将它分配给一个属性取决于多个方面:1)你在哪里做,2)你想在哪里分配属性。

要从脚本步骤抓取层次结构,您可以执行以下操作:

testRunner.testCase.setPropertyValue("property_name", conversionRateResult)

考虑浏览documentationAPI