포함 검증 포인트 추가

포함 검증 포인트를 사용하면 서비스가 리턴하는 하나 또는 XML 컨텐츠의 여러 요소가 검증 포인트에 지정되는 XML 단편과 일치하는지 확인할 수 있습니다.

이 태스크 정보

검증 포인트를 추가할 때, 서비스 응답으로부터의 결과가 검증 포인트 테스트 요소에 지정되는 예상 컨텐츠와 비교됩니다. 동일 또는 포함 검증 포인트를 사용하면 서비스가 리턴하는 XML 컨텐츠와 직접적으로 비교할 수 있습니다.

복합적인 서비스 요청 또는 검증 포인트에는 테스트 스크립트에서 필요하지 않은 비어 있는 XML 요소가 있을 수 있습니다. 테스트를 재생할 때, 그런 비어 있는 XML 요소를 건너뛸 수 있습니다. > 환경 설정 > 테스트 > 테스트 편집기 > 서비스 테스트에서 XML 트리 뷰어에서 '비어 있는 경우 건너뛰기' 열 표시 선택란이 선택되었는지 확인하십시오. 이 옵션은 요청의 트리 보기에서 비어 있는 경우 건너뛰기 열을 표시합니다. 건너 뛰려는 XML 요소를 선택할 수 있습니다.

프로시저

  1. 테스트 편집기를 열고 서비스 응답 요소를 선택하십시오.
  2. 테스트 요소 세부사항 영역에서 메시지 탭을 클릭하고 양식 또는 트리 창을 선택하십시오.
  3. 엔벨로프 행을 확장하고 검사하려는 요소를 마우스 오른쪽 단추로 클릭한 다음 포함 검증 포인트 작성을 클릭하십시오. 이 조치는 레코딩된 응답으로부터 XML 요소를 포함하는 포함 검증 포인트를 작성합니다.
    참고: 테스트 컨텐츠 분할창에서 메시지 응답을 선택하고 추가 > 포함 검증 포인트를 클릭하여 메시지 응답으로 포함 검증 포인트를 작성할 수도 있습니다. 그러나, 검증 포인트에 메시지 응답의 전체 XML 컨텐츠가 포함되므로 결과가 동일 검증 포인트와 사실상 동일합니다.
  4. 검증 포인트를 선택하고 테스트 요소 세부사항 분할창에서 검증 포인트에 대한 이름을 입력하십시오.
  5. 검증 옵션을 선택하십시오.
    • XML 네임스페이스를 사용한 테스트 선택란을 선택하여 단순한 이름 대신 네임스페이스 태그 지정을 포함하는 XML 문서의 규정된 구조에서 검증을 수행하십시오. 요소의 단순한 이름 및 최종 리턴 값만 검사하도록 이 옵션을 사용 안함으로 설정하십시오.
    • 텍스트 요소의 컨텐츠를 검증에 포함시키기 위해 XML 텍스트 노드 테스트 선택란을 선택하십시오.
    • 속성의 컨텐츠를 검증에 포함시키려면 XML 속성 테스트 선택란을 선택하십시오.
  6. 필요한 경우, 양식, 트리 또는 소스 보기를 선택하여 예상 XML 단편을 편집하십시오.

    동일 검증 포인트의 경우, 예상 XML 데이터는 응답 테스트 요소로부터 XML 문서를 포함합니다. 필요한 경우, 예상 XML 데이터를 편집할 수 있습니다.

    트리 보기에서 표준 Java™ 정규식을 지정할 수 있습니다. 속성의 행 또는 텍스트 값에서 정규식 열을 선택하고 열에 정규식을 입력하십시오. 예를 들어, 정규식(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\))은 형식화된 이메일 주소를 올바르게 검사합니다.+([a-zA-Z0-9]{2,4})+$/

    정규식을 사용할 때, 검증 포인트에서 XML 노드 또는 XML 단편의 수가 예상되는 노드의 수와 일치해야 합니다. 검증 포인트는 XML 단편의 모든 정규식이 일치할 때 패스 상태를 리턴합니다.

포함 검증 포인트를 사용하여 메시지 응답에 특정 값을 가진 특정 요소만 포함되는지 확인할 수 있습니다. 예를 들어, 다음 메시지 응답을 고려하십시오.
<s:Envelope
 xmlns:a="http://www.w3.org/2005/08/addressing"
 xmlns:s="http://www.w3.org/2003/05/soap-envelope">
  <s:Header>
    <a:Action
     s:mustUnderstand="1">http://www.w3.org/2005/08/addressing/soap/fault</a:Action>
    <a:RelatesTo>uuid:ed9bc447-d739-452f-989d-cd48344d494a</a:RelatesTo>
  </s:Header>
  <s:Body>
    <s:Fault>
      <s:Code>
        <s:Value>s:Sender</s:Value>
        <s:Subcode>
          <s:Value
           xmlns:a="http://schemas.xmlsoap.org/ws/2005/02/sc">a:BadContextToken</s:Value>
        </s:Subcode>
      </s:Code>
      <s:Reason>
        <s:Text
         xml:lang="en-US">The message could not be processed. This is most likely because the action &apos;http://Samples.ICalculator/Add&apos; is incorrect or because the message contains an invalid or expired security context token or because there is a mismatch between bindings. The security context token would be invalid if the service aborted the channel due to inactivity. To prevent the service from aborting idle sessions prematurely increase the Receive timeout on the service endpoint&apos;s binding.</s:Text>
      </s:Reason>
      <s:Node>http://www.w3.org/1999/xlink</s:Node>
      <s:Role>http://www.w3.org/1999/xlink</s:Role>
      <s:Detail
       xmlns:tns0="http://schemas.com/2003/10/Serialization/"
       xmlns:tns15="http://Samples.Windows"
       tns0:Id="id"
       tns0:Ref="idref">
        <tns15:GetCallerIdentityResponse>
          <tns15:GetCallerIdentityResult>str</tns15:GetCallerIdentityResult>
        </tns15:GetCallerIdentityResponse>
      </s:Detail>
    </s:Fault>
  </s:Body>
</s:Envelope>
Subcode 요소에 대해 검사하려면 포함 검증 포인트의 예상된 컨텐츠는 다음 XML 단편입니다.
<s:Subcode
  xmlns:a="http://www.w3.org/2005/08/addressing"
  xmlns:s="http://www.w3.org/2003/05/soap-envelope">
   <s:Value
   xmlns:a="http://schemas.xmlsoap.org/ws/2005/02/sc">a:BadContextToken</s:Value>
</s:Subcode>
기본적으로, 포함 검증 포인트는 Subcode라는 요소에 Value라는 하나의 요소를 포함하는지 여부를 검사합니다. 다음 옵션을 사용할 수 있습니다.
  • XML 네임스페이스를 사용한 테스트: 이 옵션으로 검증 포인트는 "http://www.w3.org/2003/05/soap-envelope":SubCode라는 요소에 "http://www.w3.org/2003/05/soap-envelope":Value라는 하나의 요소가 포함되는지 여부를 검사합니다.
  • XML 텍스트 노드 테스트: 이 옵션으로 검증 포인트는 Value라는 요소에 a:BadContextToken 텍스트가 포함되는지 여부도 검사합니다.
  • XML 속성 테스트: 이 옵션으로 검증 포인트는 속성이 예상되는 XML 단편과 일치하는지도 확인합니다. 이 예제에서 XML 속성 테스트 옵션은 Subcode 요소에 속성이 없으므로 필요하지 않습니다.
Detail 요소가 GetCallerIdentityResult에 대한 특정 값을 리턴하는지 확인하려면 포함 검증 포인트의 예상되는 컨텐츠는 다음 XML 단편입니다.
<s:Detail
 xmlns:a="http://www.w3.org/2005/08/addressing"
 xmlns:s="http://www.w3.org/2003/05/soap-envelope"
 xmlns:tns0="http://schemas.com/2003/10/Serialization/"
 xmlns:tns15="http://Samples.Windows"
 tns0:Id="regular_expression"
 tns0:Ref="idref">
  <tns15:GetCallerIdentityResponse>
    <tns15:GetCallerIdentityResult>IdentityValue</tns15:GetCallerIdentityResult>
  </tns15:GetCallerIdentityResponse>
</s:Detail>
다음 옵션을 사용할 수 있습니다.
  • XML 텍스트 노드 테스트: 이 옵션으로 검증 포인트는 GetCallerIdentityResult라는 요소에 IdentityValue 텍스트가 포함되는지 여부도 검사합니다.
  • XML 속성 테스트: 이 옵션으로 검증 포인트는 tns0:Id가 참조하는 Id 속성에 예상되는 값을 가지고 있는지도 확인합니다. 검증 포인트의 트리 보기에서 정규식 열을 사용하여 이 값에 대한 정규식을 지정할 수 있습니다. 예를 들어, tns0:Id="[a-zA-Z]"는 값에 숫자가 포함되지 않는지 확인합니다.

다음에 수행할 작업

테스트 편집기에서 검증 포인트를 마우스 오른쪽 단추로 클릭하고 사용 또는 사용 안함을 클릭하여 각 검증 포인트를 사용하거나 사용하지 않을 수 있습니다.

피드백