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.
- Les points de vérification de type Contient renvoient le statut de réussite
lorsque le contenu XML du retour de réponse inclut les données XML attendues.
- Les points de vérification de type Est égal à renvoient le statut de réussite
lorsque le contenu XML du retour de réponse correspond exactement aux données XML
attendues.
Procédure
- Ouvrez l'éditeur de test et sélectionnez un élément de réponse
de service.
- Dans la zone Détails de l'élément de test, cliquez sur l'onglet Message et sélectionnez la vue Formulaire ou Arborescence.
- 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 . 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.
- 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.
- 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.
- 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 'http://Samples.ICalculator/Add' 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.