Adición de puntos de verificación de contenido

Con puntos de verificación de contenido, puede comprobar uno o varios elementos del contenido XML que ha devuelto un servicio coinciden con el fragmento XML especificado en el punto de verificación.

Acerca de esta tarea

Al añadir puntos de verificación, los resultados de una respuesta de servicio se comparan con el contenido esperado que se ha especificado en el elemento de prueba de punto de verificación. Los puntos de verificación de contenido o iguales le permiten comparar directamente el contenido XML que devuelve el servicio.

Las solicitudes de servicio complejas o puntos de verificación pueden contener elementos XML vacíos que no son necesarios en un script de prueba. Al reproducir la prueba puede saltar este tipo de elementos XML vacíos. En Ventana > Preferencias > Prueba > Editor de pruebas > Prueba de servicio, asegúrese de que el recuadro de selección Visualizar la columna "Saltar si está vacío" en el visor de árbol XML está seleccionado. Esta opción muestra una columna Saltar si está vacío en la vista de árbol de la solicitud. A continuación podrá elegir los elementos XML que se van a saltar.

Procedimiento

  1. Abra el editor de pruebas y seleccione un elemento de respuesta de servicio.
  2. En el área Detalles del elemento de prueba, pulse el separador Mensaje y seleccione la vista Formulario o Árbol.
  3. Expanda la línea del sobre, pulse con el botón derecho del ratón sobre el elemento que desea comprobar y, a continuación, pulse Crear punto de verificación de contenido. Esta acción crea un punto de verificación de contenido que incluye el elemento XML de la respuesta registrada.
    Nota: También puede crear un punto de verificación de contenido con el mensaje de respuesta seleccionando la respuesta del mensaje en el panel Contenido de la prueba y pulsando Añadir > Punto de verificación de contenido. Sin embargo, el resultado es en realidad el mismo que un punto de verificación igual porque el punto de verificación contiene todo el contenido del mensaje XML de la respuesta del mensaje.
  4. Seleccione el punto de verificación y, en el panel Detalles del elemento de prueba, escriba un nombre para el punto de verificación.
  5. Seleccione las opciones de verificación:
    • Marque el recuadro de selección Probar utilizando espacio de nombres XML para realizar la verificación de la estructura calificada del documento XML, incluido el etiquetado del espacio de nombres, en lugar del nombre simple. Inhabilite esta opción para comprobar sólo el nombre simple del elemento y el valor de retorno final.
    • Marque el recuadro de selección Probar nodos de texto XML para incluir el contenido de elementos de texto en la verificación.
    • Marque el recuadro de selección Probar atributos XML para incluir el contenido de los atributos en la verificación.
  6. Si es necesario, seleccione la vista Formulario, Árbol u Origen para especificar el fragmento XML esperado.

    Para un punto de verificación igual, los datos XML esperados contienen el documento XML del elemento de prueba de respuesta. Si fuera necesario, puede editar los datos XML esperados.

    Puede especificar expresiones regulares Java™ estándar en la vista Árbol. Seleccione la columna Expresión regular en la línea de un atributo o valor de texto y escriba la expresión regular en la columna Valor. Por ejemplo, la expresión regular siguiente comprueba una dirección de correo electrónico formateada correctamente: /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/

    Si utiliza expresiones regulares, el número de nodos XML o fragmentos XML en el punto de verificación debe coincidir con el número de nodos esperados. El punto de verificación devuelve un estado Correcto cuando todas las expresiones regulares del fragmento y XML coinciden.

Ejemplo

Puede utilizar un punto de verificación de contenido para comprobar que el mensaje de respuesta contiene sólo un elemento específico con un valor específico. Por ejemplo, suponga que tenemos la siguiente respuesta del mensaje:
<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="es-ES">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>
Para comprobar el elemento Subcode, el contenido esperado del punto de verificación de contenido es el siguiente fragmento de 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>
De forma predeterminada, el punto de verificación de contenido comprueba si un elemento llamado Subcode contiene un elemento llamado Value. Puede utilizar las opciones siguientes:
  • Probar utilizando espacio de nombres XML: Con esta opción, el punto de verificación comprueba si un elemento llamado "http://www.w3.org/2003/05/soap- envelope":SubCode contiene un elemento llamado "http://www.w3.org/2003/05/soap- envelope":Value.
  • Probar nodo de texto XML: Con esta opción, el punto de verificación también comprueba si el elemento llamado Value contiene el texto a:BadContextToken.
  • Probar atributos de XML: Con esta opción, el punto de verificación también comprueba que los atributos coinciden con el fragmento de XML. En este ejemplo, la opción Probar atributos de XML no es necesaria porque el elemento Subcode no tiene ningún atributo.
Para comprobar que el elemento Detail devuelve correctamente un valor específico para GetCallerIdentityResult, el contenido esperado del punto de verificación de contenido es el siguiente fragmento de 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>
Puede utilizar las opciones siguientes:
  • Probar nodo de texto XML: Con esta opción, el punto de verificación también comprueba si el elemento llamado GetCallerIdentityResult contiene el texto IdentityValue.
  • Probar atributos de XML: Con esta opción, el punto de verificación también comprueba que el atributo Id al que hace referencia tns0:Id tenga el valor esperado. Puede especificar una expresión regular para este valor utilizando la columna Expresión regular de la vista Árbol del punto de verificación. Por ejemplo, tns0:Id="[a-zA-Z]" comprueba que el valor no contenga números.

Qué hacer a continuación

Puede habilitar o inhabilitar cada punto de verificación pulsando con el botón derecho del ratón el punto de verificación en el editor de pruebas y pulsando Habilitar o Inhabilitar.

Comentarios