Aggiunta di punti di verifica di contenuto

I punti di verifica di contenuto consentono di controllare che uno o più elementi del contenuto XML restituito da un servizio corrispondano al frammento XML specificato nel punto di verifica.

Informazioni su questa attività

Quando si aggiungono dei punti di verifica, i risultati da una risposta del servizio vengono confrontati con il contenuto previsto specificato nell'elemento di test del punto di verifica. I punti di verifica uguaglianza o contenuto consentono di confrontare direttamente il contenuto XML che il servizio restituisce.

Le richieste servizio complesse o i punti di verifica possono avere degli elementi XML vuoti che non sono necessari in uno script di test. Quando si riproduce il test, è possibile ignorare tali elementi XML vuoti. In Finestra > Preferenze > Test > Editor di test > Test di servizio, assicurarsi che la casella di spunta Visualizzare la colonna 'Ignora se vuoto' nel visualizzatore della struttura XML sia selezionata. Questa opzione visualizza una colonna Ignora se vuoto nella vista della struttura ad albero della richiesta. È quindi possibile scegliere gli elementi XML da ignorare.

Procedura

  1. Aprire l'editor di test e selezionare un elemento di risposta del servizio.
  2. Nell'area Dettagli di elementi test, fare clic sulla scheda Messaggio e selezionare la vista Modulo o Struttura ad albero.
  3. Espandere la riga di envelope, fare clic con il pulsante destro del mouse sull'elemento che si desidera controllare, quindi fare clic su Crea punto di verifica contenuto. Questa azione crea un punto di verifica di contenuto che include l'elemento XML dalla risposta registrata.
    Nota: È possibile anche creare un punto di verifica di contenuto con la risposta del messaggio selezionando la risposta del messaggio nel riquadro Contenuto test e facendo clic su Aggiungi > Punto di verifica contenuto. Tuttavia, il risultato è sostanzialmente uguale a quello di un punto di verifica di uguaglianza in quanto il punto di verifica contiene l'intero contenuto XML della risposta del messaggio.
  4. Selezionare il punto di verifica e, nel riquadro Dettagli di elementi test, immettere un nome per il punto di verifica.
  5. Selezionare le opzioni di verifica:
    • Selezionare la casella di spunta Test mediante spazi dei nomi XML per eseguire la verifica sulla struttura qualificata del documento XML, incluse le tag dello spazio dei nomi, invece del nome semplice. Disabilitare questa opzione per selezionare solo il nome semplice dell'elemento e il valore finale della restituzione.
    • Selezionare la casella di spunta Test nodi di testo XML per includere il contenuto degli elementi di testo nella verifica.
    • Selezionare la casella di spunta est attributi XML per includere il contenuto degli attributi nella verifica.
  6. Se necessario, selezionare le viste Modulo, Struttura ad albero o Origine per modificare il frammento XML previsto.

    Per un punto di verifica uguaglianza, i dati XML previsti contengono il documento XML dall'elemento di test di risposta. Se necessario, è possibile modificare i dati XML previsti.

    È possibile specificare espressioni regolari Java™ standard nella pagina Struttura ad albero. Selezionare la colonna Espressione regolare sulla riga di un attributo o valore di testo ed immettere l'espressione regolare nella colonna Valore. Ad esempio, la seguente espressione regolare verifica un indirizzo email corretto: /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/

    Quando si utilizzano le espressioni regolari, il numero di nodi XML o di frammenti XML nel punto di verifica deve corrispondere al numero di nodi previsti. Il punto di verifica restituisce uno stato Riuscito quando vengono soddisfatte tutte le espressioni regolari nel frammento XML.

Esempio

È possibile utilizzare un punto di verifica di contenuto per controllare che la risposta del messaggio contenga solo uno specifico elemento con uno specifico valore. Ad esempio, esaminare la seguente risposta di messaggio:
<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>
Per controllare l'elemento Subcode, il contenuto previsto del punto di verifica di contenuto è il seguente frammento 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>
Per impostazione predefinita, il punto di verifica di contenuto controlla se un elemento denominato Subcode contiene un elemento denominato Value. È possibile utilizzare le seguenti opzioni:
  • Test mediante spazi dei nomi XML: con questa opzione, il punto di verifica controlla se un elemento denominato "http://www.w3.org/2003/05/soap-envelope":SubCode contiene un elemento denominato "http://www.w3.org/2003/05/soap-envelope":Value.
  • Test nodo di testo XML: con questa opzione, il punto di verifica controlla inoltre se l'elemento denominato Value contiene il testo a:BadContextToken.
  • Test attributi XML: con questa opzione, il punto di verifica controlla anche che gli attributi corrispondano al frammento XML previsto. In questo esempio, l'opzione Test attributi XML non è necessaria perché l'elemento Subcode non contiene alcun attributo.
Per controllare che l'elemento Detail restituisca correttamente uno specifico valore per GetCallerIdentityResult, il contenuto previsto del punto di verifica di contenuto è il seguente frammento 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>
È possibile utilizzare le seguenti opzioni:
  • Test nodo di testo XML: con questa opzione, il punto di verifica controlla se l'elemento denominato GetCallerIdentityResult contiene il testo IdentityValue.
  • Test attributi XML: con questa opzione, il punto di verifica controlla che l'attributo Id indicato mediante tns0:Id abbia il valore previsto. È possibile specificare un'espressione regolare per questo valore utilizzando la colonna Espressione regolare nella vista Struttura ad albero del punto di verifica. Ad esempio, tns0:Id="[a-zA-Z]" controlla che il valore non contenga numeri.

Operazioni successive

È possibile abilitare o disabilitare ogni punto di verifica facendo clic con il pulsante destro del mouse sul punto di verifica nell'editor di test e facendo clic su Abilita o Disabilita.

Feedback