how use preprocessors jmeter
Dans ce didacticiel, vous apprendrez à utiliser JMeter PreProcessor et comment fonctionnent les préprocesseurs tels que SampleTimeOut, UserParameter, HTMLLinkParser, etc.:
PreProcessor exécute toujours l'action avant la requête de l'échantillonneur.
Vous trouverez ci-dessous la liste des préprocesseurs utilisés dans JMeter:
- Paramètres utilisateur
- Délai d'expiration de l'échantillon
- Préprocesseur JSR223
- Préprocesseur JDBC
- Préprocesseur Bean Shell
- Analyseur de lien HTML
- Modificateur de réécriture d'URL HTML
- Paramètres utilisateur RegEx
=> Cliquez ici pour La formation gratuite complète sur JMeter (20+ vidéos)
Ce que vous apprendrez:
Tutoriel vidéo JMeter PreProcessor
Les préprocesseurs sont des actions qui sont effectuées avant que votre échantillonneur réel ne s'exécute dans JMeter. Cela peut être quelque chose comme le stockage des valeurs d'une variable, la définition de délais d'attente, etc. Le préprocesseur peut être ajouté au niveau du groupe de threads ou au niveau de l'échantillonneur.
SampleTimeOut PreProcessor peut définir le délai d'expiration de l'échantillon pour une demande. Tout échantillon prenant un temps supérieur à celui défini serait un échec. UserParameter PreProcessor est utilisé pour définir les valeurs des variables pour des utilisateurs spécifiques.
Exemple , vous pouvez définir une valeur pour une variable pour des utilisateurs spécifiques et lorsque l'échantillonneur est exécuté, les valeurs spécifiées dans ce préprocesseur sont récupérées.
HTMLLinkParser analyse tous les liens de la réponse de la demande précédente et vous pouvez ensuite cliquer sur l'un des liens de la page au hasard. Vous pouvez spécifier '. *' Dans votre chemin et il choisirait n'importe quel lien aléatoire présent sur la page et le frapperait avec le même protocole utilisé dans un protocole spécifique.
meilleur examen du logiciel de synthèse vocale
Préprocesseur JMeter couramment utilisé
Passons en revue quelques-uns des pré-processeurs de JMeter:
# 1) Préprocesseur JSR223
Le pré-processeur JSR223 s'exécute avant la demande de l'échantillonneur et exécute l'opération à l'aide du script JSR223. Plusieurs langages utilisables sont JAVA, Groovy, BeanShell, JEXL, etc.
Suivez les étapes ci-dessous pour ajouter ce pré-processeur:
- Ajoutez un groupe de threads dans un plan de test.
- Ajoutez l'échantillonneur «Requête HTTP».
- Ajoutez le pré-processeur JSR223.
- Ajouter un écouteur «Afficher l'arborescence des résultats».
Exemple :
Le script suivant peut être écrit à l'aide de JavaScript pour modifier l'échantillonneur de requêtes HTTP:
sampler.setDomain('website.com'); sampler.setProtocol('HTTP'); sampler.setMethod('GET');
Les variables JSR223 disponibles pour l'utilisation du script sont les suivantes:
- Enregistrer: Cette variable peut être utilisée pour écrire dans le fichier journal.
- Paramètres: Paramètres sous forme de chaîne.
- Étiqueter: C'est une étiquette de chaîne.
- Nom de fichier: Nom de fichier d'un script si au cas où un script externe est ajouté
- À qui: Il s'agit d'une variable JMeter qui donne l'accès en lecture et en écriture aux variables.
- Échantillonneur: L'accès à l'échantillonneur actuel est fourni.
- args: Tableau de chaînes en tant que paramètre
- accessoires: Propriétés JMeter
- ctx: C'est le contexte JMeter qui permet d'accéder au contexte
- EN DEHORS: Pour imprimer le message (system.out)
# 2) Préprocesseur JDBC
Ce processeur peut être utilisé pour exécuter des requêtes SQL avant que l'échantillonneur ne s'exécute.
Pour ajouter le pré-processeur ci-dessous, les étapes sont suivies:
- Ajoutez un groupe de threads au plan de test.
- Ajoutez l'échantillonneur «Requête HTTP».
- Ajoutez le gestionnaire d'en-têtes HTTP.
- AJOUTEZ le préprocesseur JDBC au groupe de threads.
- Ajoutez Listener en tant que «View Results Tree».
Exemple:
Dans le cas où un utilisateur souhaite récupérer le nom d'utilisateur et le mot de passe des utilisateurs:
- Ajoutez un groupe de threads au plan de test.
- Ajouter l'échantillonneur «Requête HTTP» (les détails du nom d'utilisateur et du mot de passe requis pour les données peuvent également être fournis dans la partie corps de l'échantillonneur, mais cela ne servira à rien, car la mise à jour de ces détails devra être mise à jour dans le script comme bien)
- Ajoutez l'élément de configuration «HTTP Header Manager» et fournissez des détails sur le nom et la valeur.
- Ajoutez un préprocesseur JDBC.
Type de requête peut être sélectionné dans la liste déroulante comme Sélectionner une déclaration et la requête peut être spécifiée pour extraire la même chose dans la zone de requête.
Les variables à extraire peuvent être séparées par des virgules.
- Ajoutez Listener «View Results Tree» et exécutez le plan de test pour afficher les résultats.
Pré-processeur JDBC a un champ Type de requête qui peut être sélectionné selon l'exigence.
Comme au cas où l'utilisateur voudrait mettre à jour les détails, Déclaration de mise à jour devra être utilisé. De même, si nécessaire, un autre type de requête peut être sélectionné.
Exemple de déclaration de sélection préparée:
Dans le cas où l'utilisateur doit annuler l'ID de rendez-vous d'un patient à partir des enregistrements faisant référence au nom du patient, l'utilisateur doit configurer la connexion JDBC puis ajouter un préprocesseur JDBC en sélectionnant le type de requête comme Instruction Select préparée. Exécutez le plan de test. Les résultats peuvent être vus par l'auditeur ajouté.
# 3) Analyseur de lien HTML
Ce processeur permet d'analyser la réponse HTML et d'extraire tous les liens et formulaires.
Suivez les étapes ci-dessous pour ajouter le pré-processeur:
- Ajoutez un groupe de threads au plan de test.
- Ajouter l'échantillonneur 'Requête HTTP'
- Ajouter un contrôleur simple.
- Ajoutez un autre échantillonneur «HTTP Request».
- Ajouter un préprocesseur HTML Link Parser.
- Ajoutez l'auditeur «Afficher l'arborescence des résultats».
Exemple:
Pour voir comment les pages internes peuvent être explorées, les étapes ci-dessous peuvent être effectuées:
- Dans Thread Group, ajoutez Sampler «HTTP Request» et indiquez le nom du serveur ou l'adresse IP. Renommez le nom de l'échantillonneur en HTTP Request_Main.
- Ajoutez Simple Controller au plan de test.
- Ajoutez un autre échantillonneur «HTTP Request» et fournissez le nom du serveur ou l'adresse IP et fournissez également /. * dans le chemin afin qu'il puisse explorer tous les liens trouvés. Renommez le nom de l'échantillonneur en HTTP Request_Internal.
- Ajoutez le préprocesseur «HMTL Link Parser» et l'écouteur en tant que «View Result Tree» pour afficher la sortie.
En suivant les étapes ci-dessus, la sortie du premier échantillonneur sera le nom du site Web dans le champ de requête, tandis que pour le deuxième échantillonneur, la sortie correspond aux pages internes explorées dans le site Web fourni. Reportez-vous aux captures d'écran ci-dessous pour la même chose.
# 4) Modificateur de réécriture d'URL HTTP
Pour gérer l'URL des informations de session, une technique de réécriture est utilisée. Il présente l'avantage que même si le cookie est désactivé sur n'importe quel système, il a toujours le potentiel de fonctionner.
Pour ajouter le pré-processeur ci-dessous, les étapes sont suivies:
- Ajoutez le groupe de threads au plan de test.
- Ajoutez la requête HTTP au plan de test.
- Ajoutez le préprocesseur «Modificateur de réécriture d'URL HTTP» au plan de test.
- Ajoutez une autre «requête HTTP» d'échantillonneur au thread.
Nous pouvons utiliser ce préprocesseur comme suit:
Ce préprocesseur peut également être appliqué au niveau du thread et à l'échantillonneur spécifique. S'il est appliqué au niveau du thread, il ajoutera l'argument pour chaque requête qui se trouve dans le thread.
Nom de l'argument de session : Le nom du paramètre ID de session doit être spécifié dans ce champ. Le nom du paramètre peut être trouvé dans la réponse. Ce paramètre sera recherché sur la page et partout où il se trouve, sa valeur attribuée sera prise.
comment rédiger des user stories et des critères d'acceptation
Extension du chemin: Si l'application réécrit l'URL en ajoutant un point-virgule et inclut également l'ID de session, cette option doit être sélectionnée.
N'utilisez pas d'égaux dans l'extension de chemin: Si l'application réécrit les URL sans '=' signe entre le nom et la valeur du paramètre, cette option doit être cochée.
N'utilisez pas de point d'interrogation dans l'extension de chemin - Si l'application doit empêcher la chaîne de requête de se fermer ou de se terminer par l'extension de chemin, l'option doit être cochée.
ID de session de cache: Si l'ID de session est requis pour une utilisation ultérieure, cette option doit être sélectionnée.
Encodage d'URL: Si des URL codées sont requises, cette option doit être sélectionnée.
# 5) Paramètres utilisateur RegEx
Ce préprocesseur permet de récupérer la valeur dynamique des paramètres HTTP à partir de la requête HTTP avec l'extracteur d'expression régulière. Il est défini sur des threads indépendants dans un plan de test.
Pour ajouter le pré-processeur ci-dessous, les étapes sont suivies:
- Ajoutez un groupe de threads dans un plan de test.
- Ajoutez une requête HTTP à un groupe de threads avec un nom de serveur ou une adresse IP.
- Ajoutez le postprocesseur «Extracteur d'expressions régulières» pour extraire les valeurs.
- Ajoutez une autre requête HTTP à un groupe de threads et indiquez le nom ou l'adresse IP du serveur.
- Ajoutez le préprocesseur «Regex User Parameter» à la deuxième requête HTTP.
Ce préprocesseur peut être utilisé comme suit:
Nom de référence d'expression régulière: Le nom de référence spécifié aura les variables qui doivent avoir été analysées à partir de la première requête HTTP.
Nom des paramètres Numéro de groupe d'expression régulière: 1 représente ce groupe 1 de l'expression rationnelle. Il renverra le noms des variables .
Numéro de groupe de regex de valeurs de paramètre: 2 représente ce groupe 2 de l'expression rationnelle. Il renverra le valeurs des variables .
# 6) Préprocesseur BeanShell
Ce préprocesseur obtient une valeur aléatoire à partir d'une liste spécifique. Il peut générer des chaînes aléatoires pour affecter des valeurs aux variables.
Le préprocesseur BeanShell est ajouté sous l'échantillonneur.
Pour ajouter le pré-processeur ci-dessous, les étapes sont suivies:
- Ajoutez un groupe de threads au plan de test.
- Ajoutez Sampler au groupe de threads.
- Ajoutez «BeanShell Preprocessor» à l'échantillonneur ajouté.
Exemple:
Dans le cas où la variable définie par l'utilisateur est définie sur «true» comme valeur et que cette valeur doit être changée en «false», la commande fournie ci-dessous peut être utilisée pour faire de même. (Supprimer est une variable définie par l'utilisateur, dont la valeur doit être modifiée))
vars.put(“delete”,”false”);
Si un script externe doit être utilisé, dans ce cas, le fichier peut être téléchargé pour le script dans le champ Nom de fichier. L'option Parcourir est fournie pour télécharger le fichier externe.
FAQ sur le préprocesseur JMeter
Q # 1) Qu'est-ce qu'un préprocesseur dans JMeter?
Répondre : Le préprocesseur est l'élément utilisé pour exécuter les actions avant l'exécution de la demande d'échantillonneur. Il existe un certain nombre de préprocesseurs qui peuvent être utilisés pour atteindre différents objectifs comme conserver la valeur de la variable, obtenir des données à partir de bases de données, etc. Les préprocesseurs peuvent être ajoutés soit au niveau de l'échantillonneur, soit au niveau du thread.
Q # 2) Qu'est-ce que le préprocesseur Beanshell dans JMeter?
Répondre : BeanShell est basé sur un script et est un composant intégré du JMeter. Ce préprocesseur est utilisé pour exécuter le script avant l'exécution de l'échantillonneur.
Conclusion
Les préprocesseurs JMeter - comme nous l'avons vu, s'exécute juste avant que l'échantillonneur ne s'exécute. JSR223 et Beanshell sont des préprocesseurs basés sur des scripts alors que JDBC est utilisé pour les activités de base de données, car la récupération ou la récupération des données sont nécessaires.
Analyseur de lien HTML et paramètre utilisateur RegEx ne sont pas utilisés aussi couramment que les autres préprocesseurs mais remplissent les fonctions requises et présentent leurs propres avantages.
lecture recommandée
- Écouteurs JMeter: analyse des résultats avec différents auditeurs
- Paramétrage des données JMeter à l'aide de variables définies par l'utilisateur
- Variables et fonctions JMeter
- Comment réaliser la corrélation JMeter avec l'exemple
- Top 5 des plugins JMeter et comment les utiliser (avec des exemples)
- Minuteries JMeter: Minuterie aléatoire constante, BeanShell et Guassian
- Contrôleurs Jmeter Partie 2
- Contrôleurs Jmeter Partie 1