Modules optionnels XML

Introduction

Il existe plusieurs modules optionnels pour pouvoir tester en charge des applications web basées sur des envois de données binaires.

Cette partie de la documentation va détailler:

  • Les différents modules disponibles et leurs spécificités

  • L'interface utilisateur spécifique à ces modules et ses fonctionnalités

Pour chacun de ces modules, le principe est simple: il s'agit de présenter les informations binaires au format XML.

Principe de fonctionnement

Les modules ont un fonctionnement similaire. Au moment de l'enregistrement, lorsqu'une requête de module est rencontrée, le binaire échangé entre le client et le serveur est traduit en XML. Le XML est ensuite stocké dans la bibliothèque des requêtes.

  • Le XML est éditable dans un champ texte amélioré

  • Les extracteurs de variables peuvent extraire du contenu de la réponse XML

  • Les validateurs de réponse peuvent valider la réponse XML

Lors du test en charge, le XML est reconvertit en données binaires. Pour l'application web testée en charge, cette conversion est transparente : le XML est interne à NeoLoad.

Interface utilisateur

Edition d'une requête en mode texte

Le panneau d'édition d'un module XML permet d'éditer et de variabiliser le contenu XML de la requête. Ce contenu XML est présenté dans un champ texte évolué avec de la colorisation syntaxique.

Ce champ texte répond aux combinaisons de touches suivantes :

  • Clic droit: affichage du menu contextuel de la souris

  • CTRL + Z : annuler la dernière modification

  • CTRL + Y: rétablir la dernière modification

  • CTRL + X : couper le texte sélectionné

  • CTRL + C : copier le texte sélectionné

  • CTRL + V: coller le texte du presse-papier

  • CTRL + F : rechercher du texte

  • CTRL + R : rechercher et remplacer du texte

  • CTRL + G : aller au numéro de ligne spécifié

Si le XML de la requête a été modifié, le bouton Appliquer permet de sauvegarder ces changements. En cas de problème, un message vous informe des erreurs rencontrées et les changements ne sont pas appliqués. En cas de succès, les changements sont appliqués.

Le champ texte possède un auto-compléteur de nom de variables.

Edition d'une requête en mode avancé

Pour accéder à l'éditeur XML avancé, sélectionner une requête puis cliquer sur le bouton Editeur XML avancé. Il s'agit du même éditeur XML utilisé que celui pour le module SOAP. Pour toute information sur son fonctionnement, reportez-vous à l'édition d'une requête SOAP .

Après modification, il est impératif de cliquer sur le bouton Appliquer pour sauvegarder les changements sur la requête.

Règles d'utilisation des variables

Il est possible d'utiliser des variables NeoLoad dans le contenu XML d'une requête. Des contraintes précises définissent la manière dont il est possible d'introduire des variables dans le XML :

  • Seules les valeurs des noeuds XML peuvent contenir des variables.

    Exemple correct :

    <String>Bonjour, je m'appelle ${monNom}</String>

    Exemple incorrect :

    <String attribut="${maVariable}">Bonjour, je m'appelle Jean</String>

  • Seules les noeuds XML dont la valeur est du type listé ci-dessous peuvent être variabilisés :

    • Entier, Flottant ; Exemples : 1; 2.01; 320.

    • Chaine de caractères; Exemple : Bonjour, je m'appelle Jean.

    Exemple correct :

    <Integer>12345</Integer> peut être changé en : <Integer>${monEntier}</Integer>

    Exemple incorrect :

    <RemotingMessage>${xmlDeMonMessage}</RemotingMessage>

  • Introduire une portion de données au format XML dans la requête en utilisant une variable n'est pas autorisé. Cela peut produire des erreurs lors de l'exécution de l'utilisateur virtuel. Le serveur peut avoir un comportement inattendu en réponse à des requêtes XML malformées.

    Exemple incorrect :

    ${monXML} vaut : <String>monAutreValeur</String>

    Le XML variabilisé est :

    <object-array><String>maValeur</String>${monXML}</object-array>

Le respect de ces règles d'utilisation des variables dans une requête XML est impératif.

Validation d'une réponse XML

Le fonctionnement de la validation d'une réponse au format XML est très proche du fonctionnement classique. Pour toute information sur la validation d'une requête HTTP classique, veuillez vous référer à la documentation sur la validation d'une requête HTTP.

Il est possible de définir des validations utilisant XPath sur la réponse XML. Pour rappel, XPath est une syntaxe pour désigner une portion d'un document XML.

Sur une requête XML, il est possible de créer des validateurs de réponse:

  • Sur toute la réponse: il s'agit de validateurs classiques validant le contenu de la réponse.

  • Sur un noeud XML précis: il s'agit de validateurs spécifiques aux modules XML. Il est alors possible de spécifier un noeud XML en le sélectionnant via la boite de dialogue qui s'affiche en cliquant sur la petite loupe à coté du champ.

    Cela va générer une expression XPath à partir du noeud XMLsélectionné. Cette expression peut être modifiée manuellement, mais il faut veiller à conserver une expression XPath valide. L'expression XPath peut être variabilisée.

    On se retrouve ensuite dans le fonctionnement classique: au lieu de procéder à une validation sur toute la réponse du serveur, on procède à la validation de la partie de la réponse désignée par l'expression XPath.

Procédure pour créer un validateur de réponse via XPath:

  1. Créez un validateur.

  2. Sélectionnez l'option Sur un noeud XML.

  3. Cliquez sur la loupe du champ texte en dessous puis sélectionnez le noeud XML à valider.

  4. Cliquez sur "OK". L'expression Xpath du noeud sélectionné apparait dans le champ texte.

  5. Sélectionnez le texte à valider en cliquant sur la loupe du champ texte en dessous.

Les validations de réponse sur un noeud XML sont coûteuses en ressources. Ce type de validation n'est à utiliser que si c'est absolument nécessaire.

[Note]Note

Seuls les modules optionnels XML disposent de la validation d'une réponse XML par XPath.

Extraction de variables sur une réponse XML

Le fonctionnement de l'extracteur de variables sur une réponse XML est très proche du cas classique. Pour toute information sur l'extraction de variables sur une requête HTTP classique, veuillez vous reférer à la documentation sur l'extraction de variables.

Il est possible de définir des extracteurs de variables sur un noeud XML.

Procédure pour créer un extracteur de variables via XPath:

  1. Créez un extracteur.

  2. Sélectionnez l'option Sur un noeud XML.

  3. Cliquez sur la loupe du champ texte en dessous puis sélectionnez le noeud XML à extraire.

  4. Cliquez sur OK. L'expression Xpath du noeud sélectionné apparait dans le champ texte.

  5. Définissez votre extracteur sur le texte du noeud XML.

Voici des copies d'écran des modes simple et avancé d'extraction de variables. Les encadrés rouges mettent en avant les parties qui changent pour une requête XML.

  • En mode simple:

  • En mode avancé:

L'extraction de variables sur un noeud XML est coûteuse en ressources. Il est recommandé de n'utiliser ce type d'extraction de variables seulement si c'est absolument nécessaire.

[Note]Note

Seuls les modules optionnels XML disposent de l'extraction de variables d'une réponse par XPath.