soapUI

2012-10-25 7 views
0

나는 그것이 내가 두 개 이상의 tPlayerNames 노드를 얻고 두 번째 입력의 날이soapUI

 <m:tPlayerNames> 
      <m:iId>16</m:iId> 
      <m:sName>Adam Matuszczyk</m:sName> 
      <m:sCountryName>Poland</m:sCountryName> 
     </m:tPlayerNames> 
     <m:tPlayerNames> 
      <m:iId>588</m:iId> 
      <m:sName>Adil Rami</m:sName> 
      <m:sCountryName>France</m:sCountryName> 
     </m:tPlayerNames> 

같은 세 개의 노드를주고 첫 번째 입력에 대한이 같은 웹 서비스에서 응답을 얻고에서 동적 노드를 처리, 이

 <m:tPlayerNames> 
      <m:iId>16</m:iId> 
      <m:sName>Adam Matuszczyk</m:sName> 
      <m:sCountryName>Poland</m:sCountryName> 
     </m:tPlayerNames> 
     <m:tPlayerNames> 
      <m:iId>588</m:iId> 
      <m:sName>Adil Rami</m:sName> 
      <m:sCountryName>France</m:sCountryName> 
     </m:tPlayerNames> 
     <m:tPlayerNames> 
      <m:iId>552</m:iId> 
      <m:sName>Zlatan Ibrahimovic</m:sName> 
      <m:sCountryName>Sweden</m:sCountryName> 
     </m:tPlayerNames> 

처럼 각 노드에 대한 주장을 추가 할 나는 데이터 중심의 테스트를하고있는 중이 야 그리고 내가이이 작업을 수행 할 수 있도록하는 방법을 각 요청에 대한 노드 수에 대해 확실하지 않다.

답변

0

그루비 스크립트를 작성하여 XML을 구문 분석 할 수 있습니다. 주장을 생성하기 전에 정확한 응답을 알지 못하기 때문입니다. 아래에서 XML 응답을 구문 분석하고 요소를 찾는 스크립트를 찾을 수 있습니다.

def response = context.expand('${Test Request#Response#declare namespace soap=\'http://www.w3.org/2003/05/soap-envelope\'; //soap:Envelope[1]}') 
def responseParser = new XmlParser().parseText(response) 
def allNodes = responseParser.children() 

def nodeToFind=responseParser.nodeOfResponse.find { it.text() == 'text' } 

log.info nodeToFind 
+0

자세한 정보가 필요하면 알려주십시오. – Suha