2014-10-29 8 views
3

아래의 SOAP 응답에서 XPSE를 사용하여 응답 내용의 테스트/유효성 검사를 수행하는 방법은 무엇입니까? 참고 : RunScope를 사용하여 API를 테스트하고 있습니다. 이 "몸에 존재하는 무언가를"아주 멀리 넘어 저를하지 않습니다, 바디 그러나 :/비누 : 봉투/비누SOAP 응답을 파싱하기위한 XPath

<?xml version="1.0" encoding="utf-8"?> 
<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> 
<GetValidDataExtractResponse xmlns="http://some.namespace"> 
<GetValidDataForExtractResult> 
<long>1001</long> 
<long>1002</long> 
    </GetValidDataForExtractResult> 
</GetValidDataExtractResponse> 
</soap:Body> 
</soap:Envelope> 

내가 사용하여 다시 유효한 값을 얻을 수 있습니다. "etValidRentalUnitIdsForExtractResult"노드에 X 항목이 포함되어 있거나 해당 노드에 특정 값이 들어있는 경우에도 "GetValidDataExtractResponse"노드에 무언가가 포함되어 있는지 확인할 수 있어야합니다.

+0

포럼 사이트와 달리 "감사"또는 "모든 도움을 주셨습니다"또는 [so]의 서명을 사용하지 않습니다. "[안녕하세요, '고마워,'태그 라인 및 인사말을 게시물에서 삭제해야합니까?] (http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be 참조) -removed-from-posts) –

+0

내게있어서, 가장 좋은 점 중 하나는 포럼 사이트와 같이 내가 잘못한 것을 끊임없이 말하지 않는 사람들입니다. 그러나 알림을 보내 주셔서 감사합니다. –

답변

1

자식 노드의 존재 여부는 parent[child]으로 확인할 수 있습니다. 그래서 여기에 당신이) 닫는 태그에 오타를했습니다 당신이 http://some.namespace 용으로 설정된 네임 스페이스 별칭 x이 가정, 몇 가지 아이디어를, 그리고 :

  • "는 GetValidDataForExtractResult 자녀와 함께 GetValidDataExtractResponse 찾기":

x:GetValidDataExtractResponse[x:GetValidDataForExtractResult] 
  • "정확히 두 long 아이들과 함께 GetValidDataForExtractResult 찾기"

x:GetValidDataForExtractResult[count(x:long)=2] 

x:GetValidDataForExtractResult[x:long/text()='1001'] 

내가 개인적으로 사용하지 않는 텍스트 값으로 '1001'와 long 자녀와 함께 GetValidDataForExtractResult 찾기 RunScope ,하지만 만약 그것이 xpath 노드를 선택 제로 노드 (또는 단일 노드 선택에 대한 null 요소)를 반환 테스트하는 방법이 상상할 것이다.

+0

매우 유망 해 보입니다. 별칭을 설정하는 방법을 설명해주세요 –

+0

@coach_rob 기본 네임 스페이스에 속하는 요소의 접두어를 사용하지 않고 XPath 쿼리에서 요소 이름 만 사용합니다. –

+0

@coach_rob 속성에서 카운트 연산자가 작동하지 않습니다. 더 정교한 테스트를 수행하기 위해 스크립트 기반 어설 션을 사용할 수 있습니다. https://www.runscope.com/docs/radar/scripts를 참조하면 https://code.google.com/p/marknote/wiki를 사용할 수 있습니다./DevelopersGuide 스크립트의 XML 파서 –

1

좋아, 이건 좋지 않아,하지만 그냥 당신을 위해 작동 할 수 있습니다. Runscope 테스트에서 스크립트 기능을 사용하면 본문에서 값을 추출 할 수 있습니다. 다음은 첫 번째 "긴"값을 추출하는 예제입니다.