Processeur dans JMeter: PreProcessor & Post-processeur

Table des matières:

Anonim

Un processeur est utilisé pour modifier les échantillonneurs dans leur portée.

Il existe 2 types de processeurs:

  1. Pré-processeur
  2. Post-processeur

Pré-processeur:

Le pré-processeur exécute une action avant d' effectuer une requête d'échantillonnage.

Prenons un exemple simple: disons que vous vouliez que JMeter "spider" via le site Web en cours de test, analyse le lien (vérifiez tous les liens sur la page) et renvoie le HTML. Vous ajouteriez une action telle que "l'analyseur de lien HTML" à votre contrôleur avant de créer une requête HTTP.

Post-processeur:

Le post-processeur exécute une action après avoir effectué une requête d'échantillonnage.

Prenons un exemple simple: JMeter envoie une requête HTTP au serveur Web testé (etc. www.google.com) et obtient la réponse. Vous voulez que JMeter arrête le test si la réponse du serveur est une erreur. Vous pouvez utiliser le post-processeur pour effectuer la tâche ci-dessus comme suit:

Exemple de post-processeur

Ce didacticiel vous montrera des instructions étape par étape sur la façon d'utiliser le post-processeur dans JMeter. Commençons par le script de test simple.

  1. JMeter envoie une requête HTTP au serveur Web sous test www.google.com.
  2. JMeter reçoit une réponse du serveur Google.
  3. Si la réponse du serveur est une erreur , JMeter arrêtera le test.
  4. Si la réponse du serveur est OK (pas d'erreur), JMeter continuera le test.

Voici la feuille de route de cet exemple:

Condition préalable:

Nous réutilisons les étapes 1 et 2 de l'article Test de performance JMeter.

Étape 1) Ajouter un groupe de threads

Faites un clic droit sur le plan de test et ajoutez un nouveau groupe de threads: Ajouter -> Threads (utilisateurs) -> Thread Group

Mais dans le panneau de configuration du groupe de threads, entrez les propriétés de thread comme suit:

Ce paramètre permet à JMeter de créer 10 requêtes utilisateur sur http://www.google.com 10 fois.

Étape 2) Ajouter des éléments JMeter

  • Ajouter la requête HTTP par défaut
  • Ajouter une requête HTTP

Nous demandons toujours à JMeter d'envoyer la demande http://www.google.com au serveur Google.

Étape 3) Ajouter un élément de post-processeur

Cliquez avec le bouton droit sur Groupe de threads -> Ajouter -> Post-processeur -> Gestionnaire d'action de statut de résultat

Le gestionnaire d'action de l'état du résultat permet à l'utilisateur d'arrêter le thread ou l'ensemble du test si la demande de l'utilisateur a échoué.

Dans le volet de gestion des actions d'état du résultat, choisissez Arrêter le test maintenant . Cette sélection arrêtera le test si JMeter obtient l'erreur de la réponse du serveur.

Étape 4) Configurer la requête HTTP

Ouvrez le panneau de requête HTTP. Entrez "abc" dans le champ Chemin.

Lorsque vous entrez "abc" dans le chemin, JMeter crée une demande d'URL vers le serveur Google: http://www.google.com/abc. Cette URL n'existe pas sur le serveur Google. Il s'agit d' une demande d'URL incorrecte, le serveur Google renvoie donc une erreur.

Étape 5) Ajouter l'arborescence des résultats de la vue

Cliquez avec le bouton droit sur le groupe de threads -> Ajouter -> Écouteur -> Afficher l'arborescence des résultats

Étape 6) Exécutez le test

Sélectionnez Afficher l'arbre des résultats, appuyez sur le bouton Exécuter dans la barre de menus. Vous verrez la réponse d' erreur du serveur Google et le test s'arrêtera sans avoir terminé 100 threads.

Revenez maintenant à l'étape 4, ouvrez le volet Requête HTTP, entrez « calendrier » dans le volet. Cela oblige JMeter à créer une demande d'URL https://calendar.google.com/calendar/u/0/r sur le serveur Google. Il s'agit d' une demande d'URL correcte, le serveur Google retournera donc OK (pas d'erreur).

Sélectionnez Afficher l'arbre des résultats, appuyez sur le bouton Exécuter dans la barre de menus. Vous verrez la réponse OK du serveur Google et le test se poursuivra jusqu'à ce que les 100 threads soient terminés.

Dépannage:

Si vous rencontrez le problème lors de l'exécution du scénario ci-dessus… procédez comme suit:

  1. Vérifiez si vous vous connectez à Internet via un proxy. Si oui, supprimez le proxy.
  2. Ouvrez une nouvelle instance de Jmeter
  3. Ouvrez le ProcessorTestPlan.jmx dans Jmeter
  4. Double-cliquez sur Thread Group -> Afficher l'arborescence des résultats
  5. Exécutez le test