Éléments JMeter : groupe de threads, échantillonneurs, écouteurs, configuration

Qu’est-ce qu’un élément dans JMeter ?

Les différents composants de JMeter sont appelés Éléments. Chaque élément est conçu dans un but spécifique.

La figure ci-dessous donne quelques éléments communs dans JMeter.

Éléments dans JMeter

Étudier tous les composants d’un seul coup est une invitation à la confusion et à l’ennui. Ici, nous discuterons des composants incontournables avant de pouvoir commencer Essais dans JMeter.

Les composants restants seront abordés comme lorsqu'ils sont utilisés dans les didacticiels suivants. Les éléments abordés dans ce tutoriel sont

Groupe de discussion

Les groupes de threads sont une collection de threads. Chaque thread représente un utilisateur utilisant l'application testée. Fondamentalement, chaque thread simule une requête utilisateur réelle adressée au serveur.

Les contrôles d'un groupe de threads vous permettent de définir le nombre de threads pour chaque groupe.

Par exemple, si vous définissez le nombre de threads sur 100 ; JMeter créera et simulera 100 requêtes utilisateur vers le serveur testé

Groupe de discussion

Échantillonneurs

Comme nous le savons déjà, JMeter prend en charge les tests HTTP, FTP, JDBC et de nombreux autres protocoles.

Nous savons déjà que les groupes de threads simulent la requête de l'utilisateur au serveur.

Mais comment un groupe de threads sait-il quel type de requêtes (HTTP, FTP, etc.) il doit effectuer ?

La réponse est les échantillonneurs

La requête de l'utilisateur peut être une requête FTP, une requête HTTP, une requête JDBC… Etc.

Échantillonneurs

Requête FTP

Imaginons que vous souhaitiez tester les performances d'un serveur FTP. Vous pouvez utiliser un échantillonneur de requêtes FTP dans JMeter pour effectuer cette tâche. Ce contrôleur vous permet d'envoyer une requête FTP de « téléchargement de fichier » ou de « téléchargement de fichier » à un serveur FTP.

Demande FTP

Par exemple, si vous souhaitez télécharger un fichier « Test.txt » depuis un serveur FTP en cours de test, vous devez configurer certains paramètres dans JMeter comme dans la figure ci-dessous.

Demande FTP

JMeter enverra la commande FTP au serveur FTP ftp.example.com, puis téléchargez un fichier Test.txt à partir de ce serveur.

Requête HTTP

Cet échantillonneur vous permet d'envoyer une requête HTTP/HTTPS à un serveur Web.

Prenons l'exemple ci-dessous. JMeter envoie une requête HTTP au site Web de Google et récupère des fichiers HTML ou des images de ce site Web.

Requête HTTP

Dans le tutoriel Tests de performances JMeter, nous expliquerons plus en détail cette requête HTTP.

Requête JDBC

Cet échantillonneur vous permet d'exécuter Database Test de performance. Il envoie une requête JDBC (une requête SQL) à une base de données.

Requête JDBC

Par exemple, un serveur de base de données possède un champ test_result stocké dans une table nommée test_tbl. Vous souhaitez interroger ces données depuis le serveur de base de données ; vous pouvez configurer JMeter pour envoyer un SQL requête à ce serveur pour récupérer des données.

Requête JDBC

Échantillonneur BSF

Cet échantillonneur vous permet d'écrire un échantillonneur en utilisant un BSF langage de script.

Voici un exemple de BSF Sampler dans JMeter

Échantillonneur BSF

Accéder à l'échantillonneur de journaux

Cet échantillonneur vous permet de lire les journaux d'accès et de générer des requêtes HTTP. Le journal peut être une image, un HTML, un CSS…

Accéder à l'échantillonneur de journaux

Échantillonneur SMTP

Si vous souhaitez tester un mail serveur, vous pouvez utiliser l'échantillonneur SMTP. Cet échantillonneur est utilisé pour envoyer des email messages utilisant le protocole SMTP.

Échantillonneur SMTP

Les auditeurs

Listeners : affiche les résultats de l’exécution du test. Ils peuvent afficher les résultats dans un format différent tel qu'un arbre, un tableau, un graphique ou un fichier journal.

Les auditeurs

Les écouteurs de résultat du graphique affichent les temps de réponse du serveur sur un graphique

Résultat du graphique des auditeurs

Afficher l'arborescence des résultats affiche les résultats de la demande de l'utilisateur au format HTML de base

Afficher l'arborescence des résultats

Le résultat du tableau affiche un résumé d'un résultat de test sous forme de tableau

Résultat du tableau

Le journal affiche un résumé des résultats d'un test dans le fichier texte

Affichage du journal

Éléments de configuration

configurer les valeurs par défaut et les variables pour later utilisation par les échantillonneurs.

La figure ci-dessous montre quelques éléments de configuration couramment utilisés dans JMeter

Éléments de configuration

Configuration de l'ensemble de données CSV

Supposons que vous souhaitiez tester un site Web pour 100 utilisateurs se connectant avec des informations d'identification différentes. Vous n’avez pas besoin d’enregistrer le script 100 fois ! Vous pouvez paramétrer le script pour saisir différentes informations de connexion. Ces informations de connexion (par exemple nom d'utilisateur, mot de passe) peuvent être stockées dans un fichier texte. JMeter possède un élément qui vous permet de lire différents paramètres de ce fichier texte. Il s'agit de « CSV Data Set Config », qui est utilisé pour lire les lignes d'un fichier et les diviser en variables.

Configuration de l'ensemble de données CSV

Ceci est un exemple de données CSV. C'est un fichier texte qui contient l'utilisateur et le mot de passe pour vous connecter à votre site Web cible

Configuration de l'ensemble de données CSV

Gestionnaire de cookies HTTP

Comprenons cela avec un exemple –

Vous avez utilisé votre navigateur (Firefox, IE…Etc) pour parcourir www.google.com

Vous vous connectez avec votre utilisateur et votre mot de passe.

Votre nom d'utilisateur et votre mot de passe seront stockés sur votre ordinateur sous forme de cookies.

La prochaine fois, lors de votre visite www.google.com, vous n'avez pas besoin de vous reconnecter car votre navigateur utilisera vos cookies comme données utilisateur pour vous connecter.

HTTP Cookie Manager possède également les mêmes fonctionnalités qu'un navigateur Web. Si vous avez une requête HTTP et que la réponse contient un cookie, le gestionnaire de cookies stocke automatiquement ce cookie et l'utilisera pour toutes les demandes futures sur ce site Web particulier.

Requête HTTP par défaut

Cet élément vous permet de définir les valeurs par défaut utilisées par vos contrôleurs de requête HTTP.

Par exemple,

Vous envoyez 100 requêtes HTTP au serveur google.com

Vous devrez saisir manuellement le nom du serveur = google.com pour toutes ces 100 requêtes

Au lieu de cela, vous pouvez ajouter une seule requête HTTP par défaut avec le champ « Nom ou IP du serveur » = google.com

Pas besoin de taper 100 fois !

Requête HTTP par défaut

Cet élément sera expliqué en détail dans le tutoriel Tests de performances JMeter

Élément de configuration de connexion

L'élément de configuration de connexion vous permet d'ajouter ou de remplacer les paramètres de nom d'utilisateur et de mot de passe dans les échantillonneurs.

Par exemple, vous souhaitez simuler la connexion d'un utilisateur au site Web www.facebook.com avec utilisateur et mot de passe. Vous pouvez utiliser l'élément de configuration de connexion pour ajouter ce paramètre d'utilisateur et de mot de passe dans une demande d'utilisateur.

Élément de configuration de connexion

L'élément de configuration de connexion par rapport à la configuration des données CSV

Élément de configuration de connexion Configuration des données CSV
Utilisé pour simuler la connexion d'un utilisateur Utilisé pour simuler la connexion de plusieurs utilisateurs
Convient uniquement au paramètre de connexion (utilisateur et mot de passe) Convient à un grand nombre de paramètres