JMeter : Sauvegarder dans un fichier votre session de navigation lors de l’enregistrement de vos scénarios fonctionnels

Imaginez- vous en mission pour effectuer un test de charge avec votre logiciel favori JMeter. Vous allez suivre le processus habituel :

  1. Identifier le scénario fonctionnel qui sera rejoué par les utilisateurs virtuels
  2. Enregistrer ce scénario dans JMeter au travers d’un session de navigation avec votre navigateur
  3. Affiner le scénario (variabiliser ce qui doit l’être, ajouter des assertions réponses, etc.)
  4. Lancer votre tir

Le problème, c’est que vous avez accès à l’application cible pendant une période limitée, genre 15 min, ou bien que vous n’avez pas accès directement à l’application, vous devez passer un poste de travail pour accéder à l’application, ce poste étant bien entendu moins bien que votre ordinateur (genre c’est pas Linux ;-))

Que diriez-vous d’enregistrer votre session de navigation complète, c’est-à-dire les requêtes avec leurs paramètres mais surtout les réponses reçues par le navigateur, afin de pouvoir affiner votre scénario « à froid », sans connexion avec l’application cible, ou carrément tranquillement à la maison ?

Voici le mode d’emploi. Partie 1 : l’enregistrement dans un fichier.

Voici, ci-dessous, un arbre d’exemple pour l’enregistrement d’une session de navigation dans un JMeter (version 2.4).

L’élément Serveur Proxy HTTP va capturer les requêtes HTTP effectuées par votre navigateur (ce dernier étant configuré pour utiliser JMeter comme proxy). Puis JMeter va créer les requêtes HTTP correspondantes dans le Contrôleur Enregistreur.

Vous remarquerez la petite particularité de mon élément Serveur Proxy HTTP : il a un récepteur Arbre de résultats en tant que fils.

Cet Arbre de résultats permet de :

  • De voir le détail des requêtes HTTP capturées par le proxy JMeter
  • D’enregistrer la session de navigation au format JMeter (extension .JTL) afin de pouvoir revenir sur la session « à froid » (sans connexion au serveur).

Pour indiquer à JMeter que vous voulez enregistrer les données (requêtes/réponses) captées par le proxy, il faut donc un élément de type récepteur (comme mon arbre de résultats), puis dans le champ Nom du fichier il faut saisir (avec ses petits doigts, sans utiliser le bouton Parcourir situé à droite) le chemin complet du fichier destination. L’extension usuelle de JMeter pour ce type de fichier est .jtl.

Ensuite il faut cliquer sur le bouton Configurer qui se trouve à droite du nom du fichier. La fenêtre ci-dessous apparaît :



Ici, on coche toutes les cases à cocher (histoire de ne pas se casser la tête), puis on ferme la fenêtre.

Ensuite, il faut revenir dans l’élément Serveur proxy HTTP afin de le (re)démarrer pour qu’il puisse commencer à enregistrer les données lors de la navigation avec votre navigateur.

Voilà, maintenant vous avez un fichier JTL qui contient tout ce qu’il vous faut pour travailler tranquillement, et à froid, à l’affinage de votre script JMeter.

(Ou, autre utilisation possible : zipper le fichier jtl et l’envoyer à quelqu’un d’autre pour assistance dans votre travail.)

Partie 2 : Revoir son fichier JTL

Vous êtes maintenant prêt pour travailler sur l’affinage du script, il faut donc ouvrir son fichier JTL dans JMeter.

Ci-dessous, un JMeter fraîchement lancé (mais vous pouvez aussi le faire depuis un JMeter ayant déjà son arbre) :

On se place sur le Plan de test, puis avec le bouton droit de la souris : Ajouter > Récepteurs > Arbre de résultats.


Ceci ajoute un nouvel élément Arbre de résultats, dans lequel on va cliquer sur le bouton Parcourir… qui est situé dans la partie à droite sur l’écran (pas dans les menus).

Dans la nouvelle fenêtre qui s’affiche, on recherche son fichier JTL, et on clique sur Ouvrir.

Et hop, l’arbre de résultats se remplit les données enregistrées (requêtes et surtout les réponses) :

Y-a-pu-qu’à faire l’affinage 😉 ou toute autre chose que vous aimeriez.

./

Flattr this!

Un commentaire

  1. […] exemple, si vous avez suivi ce petit billet sur l’enregistrement de votre scénario fonctionnel pour une réutilisation à froid, ou bien que vous avez exécuté une fois votre scénario de test et qu’il y a un problème […]