2017-01-05 76 views
-2

我想轉讓從SOAP UI API響應在同一個測試case.I Groovy腳本指定的標記值已經試過這兩個但從響應整個數據粘貼之間的產權轉讓groovy.Can任何人都可以給我一些更好的想法。謝謝。產權轉讓肥皂UI

+0

你能否提供樣本回應? – Rao

回答

0

與樣本xml解釋這個,因爲沒有提供你的樣品。

上執行的請求,下面是響應XML:

<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>0.005</ConversionRateResult> 
     </ConversionRateResponse> 
    </soap:Body> 
</soap:Envelope> 

現在,將告訴你如何檢索ConversionRateResult元素值,並使其可在其他測試步驟訪問。 關鍵是所述給定元素的值存儲在使用Script Assertion測試用例的請求步驟,並能夠使用property expansion到accessit測試用例水平自定義屬性。

腳本斷言:

//Check if the response is not empty 
assert context.response 

//Closure to get the any element value(non-repeting) 
def searchData = { data, elementName -> 
    data.'**'.find{ it.name() == elementName} 
} 

//Create object for the response 
def parsedXml = new XmlSlurper().parseText(context.response) 

//Call the above closure to get the value of ConversionRateResult which is 0.005 in above response 
log.info searchData(parsedXml, 'ConversionRateResult') 

//Store it at test case custom property called RATE 
context.testCase.setPropertyValue('RATE', searchData(parsedXml, 'ConversionRateResult') as String) 

如何訪問在以下使用屬性擴展相同的測試用例的測試步驟率是多少?

  • 如果測試步驟是Request鍵入step,則使用​​。例如,你在接下來的肥皂接入速率值或休息或HTTP或JDBC請求,然後<element>${#TestCase#RATE}</element>
  • 如果測試步驟是Groovy Script,然後使用下面的一個: context.expand('${#TestCase#RATE}')
    context.testCase.getPropertyValue('RATE')