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)
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.
Voir Figure 4.2 pour le groupe de threads d'utilisateurs JMeter complété.
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).
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.
Voir Figure 4.4 pour l'élément HTTP Request Defaults complété
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 .
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).
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) :
- Changez le champ Nom en "Page d'accueil".
- 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.
Ensuite, ajoutez la deuxième requête HTTP et modifiez les propriétés suivantes (voir Figure 4.7 :
- Remplacez le champ Nom par "Modifications".
- Définissez le champ Chemin sur "/changes.html".
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.
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.
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.