4. Construire un plan de test Web

Dans cette section, vous apprendrez à créer un plan de test de base pour tester un site Web. Vous allez créer cinq utilisateurs qui envoient des demandes à deux pages sur le site Web JMeter. De plus, vous direz aux utilisateurs d'exécuter leurs tests deux fois. Ainsi, le nombre total de requêtes est de (5 utilisateurs) x (2 requêtes) x (répéter 2 fois) = 20 requêtes HTTP. Pour construire le plan de test, vous utiliserez les éléments suivants : Thread Group , HTTP Request , HTTP Request Defaults et Graph Results .

Pour un plan de test plus avancé, consultez Création d'un plan de test Web avancé .

4.1 Ajouter des utilisateurs

La première étape que vous souhaitez effectuer avec chaque plan de test JMeter consiste à ajouter un élément Thread Group . Le groupe de threads indique à JMeter le nombre d'utilisateurs que vous souhaitez simuler, la fréquence à laquelle les utilisateurs doivent envoyer des demandes et le nombre de demandes qu'ils doivent envoyer.

Allez-y et ajoutez l'élément ThreadGroup en sélectionnant d'abord le plan de test, en cliquant sur le bouton droit de la souris pour obtenir le menu Ajouter, puis en sélectionnant Ajouter → ThreadGroup.

Vous devriez maintenant voir l'élément Groupe de threads sous Plan de test. Si vous ne voyez pas l'élément, "développez" l'arborescence du plan de test en cliquant sur l'élément Plan de test.

Ensuite, vous devez modifier les propriétés par défaut. Sélectionnez l'élément Thread Group dans l'arborescence, si vous ne l'avez pas déjà sélectionné. Vous devriez maintenant voir le panneau de configuration du groupe de threads dans la section droite de la fenêtre JMeter (voir la figure 4.1 ci-dessous)


Figure 4.1.  Groupe de threads avec valeurs par défaut
Figure 4.1. Groupe de threads avec valeurs par défaut

Commencez par fournir un nom plus descriptif pour notre groupe de threads. Dans le champ du nom, saisissez Utilisateurs JMeter.

Ensuite, augmentez le nombre d'utilisateurs (appelés threads) à 5.

Dans le champ suivant, la période de montée en puissance, laissez la valeur par défaut de 1 seconde. Cette propriété indique à JMeter le délai entre le démarrage de chaque utilisateur. Par exemple, si vous entrez une période de montée en puissance de 5 secondes, JMeter finira de démarrer tous vos utilisateurs à la fin des 5 secondes. Donc, si nous avons 5 utilisateurs et une période de montée en puissance de 5 secondes, le délai entre les utilisateurs débutants serait de 1 seconde (5 utilisateurs / 5 secondes = 1 utilisateur par seconde). Si vous définissez la valeur sur 0, JMeter démarrera immédiatement tous vos utilisateurs.

Saisissez enfin la valeur 2 dans le champ Nombre de boucles. Cette propriété indique à JMeter combien de fois répéter votre test. Si vous entrez une valeur de nombre de boucles de 1, JMeter n'exécutera votre test qu'une seule fois. Pour que JMeter exécute à plusieurs reprises votre plan de test, cochez la case Toujours.

Dans la plupart des applications, vous devez accepter manuellement les modifications que vous apportez dans un panneau de configuration. Cependant, dans JMeter, le Panneau de configuration accepte automatiquement vos modifications au fur et à mesure que vous les apportez. Si vous modifiez le nom d'un élément, l'arborescence sera mise à jour avec le nouveau texte après avoir quitté le Panneau de configuration (par exemple, lors de la sélection d'un autre élément de l'arborescence).

Voir Figure 4.2 pour le groupe de threads d'utilisateurs JMeter complété.


Figure 4.2.  Groupe de threads d'utilisateurs JMeter
Figure 4.2. Groupe de threads d'utilisateurs JMeter

4.2 Ajout des propriétés de requête HTTP par défaut

Maintenant que nous avons défini nos utilisateurs, il est temps de définir les tâches qu'ils effectueront. Dans cette section, vous spécifierez les paramètres par défaut de vos requêtes HTTP. Et puis, dans la section 4.3, vous ajouterez des éléments de requête HTTP qui utilisent certains des paramètres par défaut que vous avez spécifiés ici.

Commencez par sélectionner l'élément JMeter Users (Thread Group). Cliquez sur le bouton droit de la souris pour obtenir le menu Ajouter, puis sélectionnez Ajouter → Élément de configuration → Valeurs par défaut de la requête HTTP. Sélectionnez ensuite ce nouvel élément pour afficher son panneau de configuration (voir Figure 4.3).


Figure 4.3.  Valeurs par défaut des requêtes HTTP
Figure 4.3. Valeurs par défaut des requêtes HTTP

Comme la plupart des éléments JMeter, le panneau de configuration HTTP Request Defaults possède un champ de nom que vous pouvez modifier. Dans cet exemple, laissez ce champ avec la valeur par défaut.

Passez au champ suivant, qui est le nom/IP du serveur Web. Pour le plan de test que vous construisez, toutes les requêtes HTTP seront envoyées au même serveur Web, jmeter.apache.org. Entrez ce nom de domaine dans le champ. C'est le seul champ pour lequel nous spécifierons une valeur par défaut, alors laissez les champs restants avec leurs valeurs par défaut.

L'élément HTTP Request Defaults n'indique pas à JMeter d'envoyer une requête HTTP. Il définit simplement les valeurs par défaut utilisées par les éléments HTTP Request.

Voir Figure 4.4 pour l'élément HTTP Request Defaults complété


Illustration 4.4.  Valeurs par défaut HTTP pour notre plan de test
Illustration 4.4. Valeurs par défaut HTTP pour notre plan de test

4.3 Ajout de la prise en charge des cookies

Presque tous les tests Web doivent utiliser la prise en charge des cookies, à moins que votre application n'utilise spécifiquement de cookies. Pour ajouter la prise en charge des cookies, ajoutez simplement un gestionnaire de cookies HTTP à chaque groupe de threads dans votre plan de test. Cela garantira que chaque thread reçoit ses propres cookies, mais partagés entre tous les objets HTTP Request .


Figure 4.5.  Gestionnaire de cookies HTTP
Figure 4.5. Gestionnaire de cookies HTTP

Pour ajouter le gestionnaire de cookies HTTP , sélectionnez simplement le groupe de threads et choisissez Ajouter → Élément de configuration → Gestionnaire de cookies HTTP, soit dans le menu Edition, soit dans le menu contextuel du clic droit.

4.4 Ajouter des requêtes HTTP

Dans notre plan de test, nous devons faire deux requêtes HTTP. Le premier est pour la page d'accueil de JMeter (http://jmeter.apache.org/), et le second est pour la page Changes (http://jmeter.apache.org/changes.html).

JMeter envoie les requêtes dans l'ordre dans lequel elles apparaissent dans l'arborescence.

Commencez par ajouter la première requête HTTP à l'élément JMeter Users (Add → Sampler → HTTP Request). Ensuite, sélectionnez l'élément HTTP Request dans l'arborescence et modifiez les propriétés suivantes (voir Figure 4.6) :

  1. Changez le champ Nom en "Page d'accueil".
  2. Définissez le champ Chemin sur "/". N'oubliez pas que vous n'avez pas à définir le champ Nom du serveur car vous avez déjà spécifié cette valeur dans l'élément HTTP Request Defaults.


Figure 4.6.  Requête HTTP pour la page d'accueil de JMeter
Figure 4.6. Requête HTTP pour la page d'accueil de JMeter

Ensuite, ajoutez la deuxième requête HTTP et modifiez les propriétés suivantes (voir Figure 4.7 :

  1. Remplacez le champ Nom par "Modifications".
  2. Définissez le champ Chemin sur "/changes.html".


Figure 4.7.  Page de requête HTTP pour les modifications JMeter
Figure 4.7. Page de requête HTTP pour les modifications JMeter

4.5 Ajout d'un écouteur pour afficher le stockage des résultats de test

Le dernier élément que vous devez ajouter à votre plan de test est un écouteur . Cet élément est chargé de stocker tous les résultats de vos requêtes HTTP dans un fichier et de présenter un modèle visuel des données.

Sélectionnez l'élément JMeter Users et ajoutez un écouteur Graph Results (Add → Listener → Backend Listener).

4.6 Connexion à un site Web

Ce n'est pas le cas ici, mais certains sites Web exigent que vous vous connectiez avant de vous permettre d'effectuer certaines actions. Dans un navigateur Web, la connexion sera affichée sous la forme d'un formulaire pour le nom d'utilisateur et le mot de passe, et un bouton pour soumettre le formulaire. Le bouton génère une requête POST, en passant les valeurs des éléments du formulaire en tant que paramètres.

Pour ce faire dans JMeter, ajoutez une requête HTTP et définissez la méthode sur POST. Vous aurez besoin de connaître les noms des champs utilisés par le formulaire et la page cible. Ceux-ci peuvent être découverts en inspectant le code de la page de connexion. [Si cela est difficile à faire, vous pouvez utiliser JMeter Proxy Recorder pour enregistrer la séquence de connexion.] Définissez le chemin vers la cible du bouton Soumettre. Cliquez deux fois sur le bouton Ajouter et entrez les détails du nom d'utilisateur et du mot de passe. Parfois, le formulaire de connexion contient des champs masqués supplémentaires. Ceux-ci devront également être ajoutés.


Illustration 4.8.  Exemple de demande de connexion HTTP
Illustration 4.8. Exemple de demande de connexion HTTP

4.7 choisir le même utilisateur ou des utilisateurs différents

Lors de la création d'un plan de test, à chaque itération de groupe de threads, nous pouvons choisir de simuler le même utilisateur exécutant plusieurs itérations ou différents utilisateurs exécutant une itération. Vous pouvez configurer ce comportement sur l'élément Groupe de threads et faire en sorte que le gestionnaire de cache HTTP, le gestionnaire de cookies HTTP et le gestionnaire d'autorisation HTTP soient contrôlés par ce paramètre.


Illustration 4.9.  Choisissez le même utilisateur ou des utilisateurs différents
Illustration 4.9. Choisissez le même utilisateur ou des utilisateurs différents

Vous pouvez choisir d'effacer les cookies/le contenu du cache/l'autorisation dans le CookieManager/CacheManager/le gestionnaire d'autorisations, ou choisir d'être contrôlé par le groupe de threads.


Figure 4.10.  Utiliser le groupe de threads pour contrôler CookieManager
Figure 4.10. Utiliser le groupe de threads pour contrôler CookieManager

Figure 4.11.  Utiliser le groupe de threads pour contrôler CacheManager
Figure 4.11. Utiliser le groupe de threads pour contrôler CacheManager

Figure 4.12.  Utiliser le groupe de threads pour contrôler le gestionnaire d'autorisations
Figure 4.12. Utiliser le groupe de threads pour contrôler le gestionnaire d'autorisations
Go to top