Rubrique précédente: Assertion Ensure Step Response Time (Vérifier le temps de réponse d'étape)Rubrique suivante: Assertion XML XPath Assertion (Assertion XPath de résultat XML)


Assertion Graphical XML Side-by-Side Comparison (Comparaison côte à côte graphique de contenu XML)

L'assertion Graphical XML Side-by-Side Comparison vous permet de comparer une valeur XML de test reçue à partir d'un test avec une valeur XML de contrôle. Si les réponses sont identiques ou différentes, l'assertion peut renvoyer la valeur true. Cette assertion offre un mode souple de comparaison des documents XML à des étapes différentes d'un processus métier afin de vérifier qu'ils correspondent aux critères attendus. Cette approche est appelée "test exclusif" lorsque la totalité d'une réponse est comparée, à l'exception des quelques valeurs changeantes.

L'éditeur d'assertions fonctionne en comparant le contenu XML sur la gauche et sur la droite. Le contenu de gauche est appelé Control Content (Contenu de contrôle) et le contenu de droite Test Content (Contenu de test). Par exemple, le contenu de contrôle correspond au contenu XML attendu renvoyé à partir d'un service Web dans l'application testée, tandis que le contenu de test est le contenu réel. Par défaut, le contenu de test est chargé à partir de la dernière réponse de l'étape de test associée à l'assertion, indiquée par une clé de propriété vide. Dans le cas contraire, vous pouvez utiliser l'une des clés de propriété valides pour charger le contenu de test.

De même, vous pouvez effectuer l'une des actions suivantes en mode de création de scénario de test afin de réaliser une comparaison graphique rapide :

Pour effectuer la comparaison, cliquez sur la flèche verte Icône en forme de flèche vers la droite.

Fenêtre de l'assertion Graphical XML Side-by-Side Comparison (Comparaison côte à côte graphique de contenu XML) avant l'exécution de la comparaison

Une fois que la comparaison est effectuée, les résultats s'affichent dans le visualiseur de l'onglet Diff Viewer (Visionneuse de différences) de l'éditeur d'assertions.

Fenêtre de l'assertion Graphical XML Side-by-Side Comparison (Comparaison côte à côte graphique de contenu XML) après l'exécution de la comparaison

 

Sortie lors de l'exécution

Lorsqu'une assertion est exécutée, DevTest journalise les résultats de la comparaison comme des événements de test.

Un ID d'événement de message d'informations contenant les résultats de la comparaison de contenu XML est toujours journalisé.

Si l'assertion se déclenche, un ID d'événement déclenché par une assertion contenant les résultats de la comparaison de contenu XML est journalisé.

Les résultats de la comparaison sont enregistrés sous un format identique à celui de l'utilitaire de comparaison UNIX d'origine. Exemple de rapport de comparaison de texte :

Assert [Assert1] fired false of type Graphical XML Diff Assertion
XML is [Different]
=====
1,2[ELEMENT_NAME_CHANGED]1,2
<! <test2>
<! </test2>
---
>! <test>
>! </test>

Chaque différence est affichée avec un titre de format :

<First Start Line>, <First End Line>'['<Diff Type>']'<Second Start Line>,<Second End Line>

Les différences figurant dans le premier contenu sont affichées, puis le séparateur --- suivi des différences figurant dans le deuxième contenu.

Le signe + indique un ajout, le signe - indique une suppression et le signe ! indique une modification. Lorsque ces caractères sont présents, ils indiquent qu'une modification réelle s'est produite dans la ligne de contenu, par opposition à une ligne de contexte.

Options de comparaison de contenu XML

Les options de comparaison suivantes sont disponibles pour le moteur de comparaison :

General (Général)
Case sensitive (Respecter la casse)

Indique si le respect de la casse est appliqué pendant la comparaison (option activée par défaut).

Whitespace (Espace)
Trim whitespace (Supprimer les espaces)

Pendant une comparaison, tous les espaces de début et de fin sont supprimés du texte de l'élément et des valeurs d'attribut (option activée par défaut).

Collapse whitespace (Réduire l'espace)

Cette option permet de supprimer les espaces, ainsi que de convertir une séquence d'un ou de plusieurs caractères d'espace dans le texte en un caractère d'espace unique.

Normalize whitespace (Normaliser les espaces)

Cette option permet de convertir un ou plusieurs caractères d'espace en un caractère d'espace unique.

Ignore all whitespace (Ignorer tous les espaces)

Tous les espaces sont ignorés pendant la comparaison.

Namespaces (Espaces de noms)
Ignore namespaces (Ignorer les espaces de noms)

La valeur d'espace de noms d'un élément ou d'un attribut est ignorée.

Ignore namespace prefixes (Ignorer les préfixes d'espace de noms)

Le préfixe d'espace de noms d'un élément ou d'un attribut est ignoré (option activée par défaut).

Ordering (Classement)
Ignore child element ordering (Ignorer le classement des éléments enfants)

Permet d'ignorer l'ordre des éléments enfants dans le document XML.

Ignore attribute ordering (Ignorer le classement des attributs)

Permet d'ignorer l'ordre des attributs dans le document XML (option activée par défaut).

Node Types (Types de noeuds)
Ignore element text (Ignorer le texte de l'élément)

Permet d'ignorer le texte de l'élément.

Ignore attribute values (Ignorer les valeurs d'attribut)

Permet de comparer les noms d'attribut, mais d'ignorer les valeurs d'attribut.

Ignore attributes (Ignorer les attributs)

Permet d'ignorer les noms et les valeurs d'attribut.

Ignored Nodes (Noeuds ignorés)

Les noeuds ignorés sont créés dans une liste d'expressions XPath exécutées selon les documents de gauche et de droite. Chaque expression XPath évaluée qui renvoie un ensemble de noeuds est cumulée. Lorsque la comparaison est effectuée, les noeuds qui se trouvent dans l'ensemble cumulé sont ignorés.

Les expressions XPath des noeuds ignorés peuvent correspondre à une requête arbitraire qui renvoie un ensemble de noeuds. Par exemple, l'expression XPath //* exclut tous les noeuds d'un document XML. L'expression /exemple/texte() exclut le premier enfant de noeud de texte de l'élément example dans un document XML. L'expression XPath /example/@myattr permet d'ignorer l'attribut myattr, y compris la valeur du texte d'attribut, appartenant à l'élément example dans un document XML.

Onglet Ignored Nodes (Noeuds ignorés) de la fenêtre d'assertion Graphical XML Side-by-Side Comparison (Comparaison côte à côte graphique de contenu XML)

Un élément de menu contextuel vous permet également de directement sélectionner un noeud dans un document XML et l'expression XPath correspondante est ajoutée à la liste Ignored Nodes (Noeuds ignorés).

Menu contextuel de l'onglet Ignored Nodes (Noeuds ignorés) de la fenêtre d'assertion Graphical XML Side-by-Side Comparison (Comparaison côte à côte graphique de contenu XML)