Ajout de points de vérification de type Contient

Les points de vérification du contenu permettent de contrôler si les éléments du contenu XML renvoyé par un service correspondent aux fragments XML définis dans les points de vérifications.

Pourquoi et quand exécuter cette tâche

Lorsque vous ajoutez un point de vérification, les résultats d'une réponse de service sont comparés au contenu attendue spécifié dans l'élément de test du point de vérification. Les points de vérification Est égal à ou Contient vous permettent de comparer directement le contenu XML que le service renvoie.

Il est possible que les demandes de service complexes ou les points de configuration comportent des éléments XML vides qui ne sont pas nécessaires dans un script de test. Lors de la réexécution du test, vous pouvez ignorer ces éléments XML vides. Dans Fenêtre > Préférences > Test > Editeur de test > Test de service, vérifiez que la case Afficher la colonne 'Ignorer si vide' dans l'afficheur d'arbre XML est cochée. Cette option affiche une colonne Ignorer si vide dans la vue arborescente de la demande. Vous pouvez ensuite choisir les éléments XML à ignorer.

Procédure

  1. Ouvrez l'éditeur de test et sélectionnez un élément de réponse de service.
  2. Dans la zone Détails de l'élément de test, cliquez sur l'onglet Message et sélectionnez la vue Formulaire ou Arborescence.
  3. Développez la ligne d'enveloppe, cliquez à l'aide du bouton droit de la souris sur l'élément à vérifier puis sélectionnez Créer un point de vérification de type Contient. Cette action crée un point de vérification de contenu qui inclut l'élément XML de la répons enregistrée.
    Remarque : Vous pouvez créer également un point de vérification de contenu avec la réponse au message en sélectionnant le message de réponse dans le volet de test de contenu et en cliquant sur Ajouter > Point de vérification Contient. Cependant, le résultat est effectivement identique à un point de vérification Egal à, car le point de vérification contient la totalité du contenu XML de la réponse au message.
  4. Sélectionnez le point de vérification et, dans la zone Détails de l'élément de test, entrez un nom pour le point de vérification.
  5. Sélectionnez les options de vérification :
    • Cochez la case Tester à l'aide des espaces de nom XML pour effectuer la vérification de la structure qualifiée du document XML, y compris le balisage de l'espace de nom, au lieu du nom simple. Désactivez cette option pour vérifier uniquement le nom simple de l'élément et la valeur de retour finale.
    • Cochez la case Tester les noeuds de texte XML pour inclure le contenu des éléments de test dans la vérification.
    • Cochez la case Tester les attributs XML pour inclure le contenu des attributs dans la vérification.
  6. Si nécessaire, sélectionnez les vues Formulaire, Arborescence ou Source pour modifier le fragment XML attendu.

    Pour un point de vérification Est égal à, les données XML attendues contiennent le document XML de l'élément de test de réponse. Si nécessaire, vous pouvez éditer les données XML attendues.

    Vous pouvez spécifier des expressions régulières Java™ standard dans la vue Arborescence. Sélectionnez la colonne Expression régulière dans la liste d'un attribut ou d'une valeur textuelle et tapez l'expression régulière dans la colonne Valeur. Par exemple, l'expression régulière suivante vérifie si l'adresse électronique est correctement formatée : /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/

    Lors de l'utilisation d'expressions régulières, le nombre de noeuds XML ou de fragments XML dans le point de vérification doit correspondre au nombre de noeuds attendus. Le point de vérification renvoie le statut de réussite lorsque toutes les expressions régulières dans le fragment XML correspondent.

Exemple

Vous pouvez utiliser un certain point de vérification pour vérifier que la réponse au message contient uniquement un élément spécifique avec une valeur donnée. Voici un exemple de réponse de message :
<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">Le message n'a pas pu être traité vraisemblablement parce que l'action &apos;http://Samples.ICalculator/Add&apos; est incorrecte ou que le message contient un jeton de contexte de sécurité non valide ou qui a expiré ou qu'il existe une discordance entre les liaisons. Le jeton de contexte de sécurité est non valide si le service a arrêté le canal suite à une inactivité. Pour empêcher le service d'arrêter les sessions inactives prématurément, augmentez le délai de réception sur la liaison du noeud final du service&.</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>
Pour rechercher l'élément Subcode, le contenu attendu du point de vérification de contenu est le segment XML suivant :
<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>
Par défaut, le point de vérification vérifie que l'élément Subcode contient un élément Value. Vous pouvez utiliser les options suivantes :
  • Tester en utilisant des espaces de nom XML : Cette option permet au point de vérification de vérifier que l'élément "http://www.w3.org/2003/05/soap-envelope":SubCode contient l'élément "http://www.w3.org/2003/05/soap-envelope":Value.
  • Tester le noeud de texte XML : cette option permet au point de vérification de vérifier également si l'élément Value contient le texte a:BadContextToken.
  • Tester les attributs XML : cette option permet au point de vérification de vérifier également que les attributs correspondent au fragment X ML attendu. Dans cet exemple, l'option Tester les attributs XML n'est pas nécessaire, car l'élément Subcode n'a pas d'attribut.
Pour vérifier que l'élément Détail renvoie une valeur pour GetCallerIdentityResult, le contenu attendu du point de vérification de contenu est le fragment XML suivant :
<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>
Vous pouvez utiliser les options suivantes :
  • Tester le noeud de texte XML : cette option permet au point de vérification de vérifier également si l'élément GetCallerIdentityResult contient le texte IdentityValue.
  • Tester les attributs XML : cette option permet au point de vérification de vérifier également que l'attribut Id auquel tns0:Id fait référence a la valeur attendue. Vous pouvez définir une expression régulière pour cette valeur en utilisant la colonne Expression régulière dans la vue Arborescence du point de vérification. Par exemple, tns0:Id="[a-zA-Z]" vérifie que la valeur ne contient pas des nombres.

Que faire ensuite

Vous pouvez activer ou désactiver chaque point de vérification en faisant un clic droit dessus dans l'éditeur de test et en sélectionnant Activer ou Désactiver.

Retour d'informations