Corrélation dans JMeter

Corrélation dans JMeter
MIN
19 Jan 2024

Table des matières

Qu’est-ce que la corrélation et pourquoi est-elle nécessaire ?

La corrélation est l’aspect le plus important des scripts. Il s’agit généralement de récupérer les données dynamiques des demandes/invocations précédentes et de les envoyer aux demandes suivantes.

Prenons un exemple pour comprendre pourquoi nous avons besoin d’une corrélation. Supposons que nous ayons vécu un scénario dans lequel :

  • ->L’utilisateur entre ses données de connexion et clique sur OK
  • ->La page d’accueil s’ouvre et l’utilisateur effectue d’autres actions

Si nous rejouons ce scénario, le test échouera même pour un seul utilisateur. Cela est dû au mécanisme d’authentification utilisé. Lorsque nous nous connectons à un site web, des variables de session sont créées dynamiquement. Ces variables de session sont transmises à d’autres requêtes et permettent de vérifier et d’authentifier les actions effectuées. Il n’est donc pas possible d’enregistrer et de rejouer les requêtes contenant ces variables. Dans ce cas, nous devons lier les requêtes web à des variables dynamiques. Et pour la corrélation, nous devons utiliser « Regular Expression Extractor » qui utilise des expressions régulières. Avant de nous pencher plus avant sur la corrélation, commençons par comprendre ce que sont les « expressions régulières ».

Un bref aperçu des expressions régulières

Les expressions régulières sont utilisées pour extraire des données d’une chaîne sur la base d’un modèle de recherche. Fondamentalement, pour obtenir une valeur quelconque (généralement une valeur créée dynamiquement) à partir d’une réponse sous forme de chaîne, nous définissons un cadre gauche pour la variable, puis quelques caractères génériques, et enfin un cadre droit :

(Limite gauche)(Caractères de remplacement)(Limite droite)Par exemple si nous avons une réponse textuelle comme-…__EVENTVALIDATION « value= »weriudflsdfspdfusdjhsdihffgdfgpdfjsdjfpj » />….

Et nous devons obtenir la valeur de la variable Event Validation à l’aide d’expressions régulières ; une expression régulière pour cela serait :

__EVENTVALIDATION" value="(.+?)" /> where, Left Bound = __EVENTVALIDATION" value=" Wildcard characters = (.+?) Right Bound = " />

Si vous ne souhaitez pas approfondir les expressions régulières, les caractères génériques (.+ ?) suffisent dans la plupart des cas. Pour plus d’informations sur les expressions régulières et la signification des différents caractères de remplacement, consultez le site d’information sur les expressions régulières.

Extracteur d’expressions régulières

Revenons à l’application JMeter et considérons un exemple dans lequel nous avons deux opérations :

  1. L’utilisateur lance une page web
  2. L’utilisateur remplit les détails et clique sur OK.

Appeler maintenant « Site web de lancement de l’utilisateur » (Lancement du site web de l’utilisateur) crée une variable dynamique – « eventVvalidation ». (vérification de l’événement), que nous pouvons vérifier dans l’onglet Données de réponse (Détails de la réponse) dans l’auditeur (auditeur) « Voir l’arborescence des résultats » pour cet appel. La valeur de cette variable est ensuite transmise aux appels ultérieurs relatifs à « L’utilisateur remplit les détails et clique sur le bouton OK » en tant que paramètre Http post.

Étapes de la corrélation des valeurs de vérification d’événements :

  1. Exécutez le script contenant les deux opérations ci-dessus.
  2. Allez dans l’onglet Response (mode texte) de l’auditeur « View Result Tree » de l’opération « User launch website ». Dans la figure suivante, nous pouvons voir que la deuxième opération « L’utilisateur remplit les données et clique sur OK » est rouge parce qu’elle n’est pas encore corrélée.
  1. Créez une expression régulière pour extraire la valeur de la variable de validation Event. Comme indiqué ci-dessus, l’E.R. à cette fin sera :

__EVENTVALIDATION » value= »(.+ ?) » />

  1. Naviguez jusqu’à la requête http dans le contrôleur de transaction « User Launch Website » -> Add -> Post Processor -> Regular Expression Extractor.

Ajout du contrôle « Regular Expression Extractor » (Extracteur d’expressions régulières)

Paramètres de l’extracteur R.E. remplis

  1. Le nom de la référence imbriquée est le nom de la variable créée qui capturera la valeur de validation de l’événement générée par la requête http dans le cadre de l’opération « User launch website ».
  2. Passez maintenant cette variable à la requête http suivante en tant que requête post dans l’opération « L’utilisateur remplit les détails et clique sur le bouton OK » – ce qui écrase la valeur codée en dur déjà présente de la variable Validation de l’événement.

Demande sans corrélation (valeurs codées en dur)

Demande (requête) avec corrélation (valeurs dynamiques)

  1. Exécutez à nouveau le plan de test. Tout en vert ! C’est tout.