web-dev-qa-db-fra.com

Comment enregistrer la réponse dans une variable dans jmeter

J'effectue des tests de charge sur mon serveur à l'aide de jmeter. Dans l'une de mes demandes de publication, je reçois un identifiant unique dans la réponse. J'ai besoin d'envoyer cet identifiant comme paramètre dans les demandes de publication suivantes. Je suis nouveau sur jmeter et je n'ai aucune idée de comment procéder. De l'aide serait vraiment appréciée.

10
Sid

Si vous devez stocker l'intégralité de la réponse dans une variable, procédez comme suit:

  1. Ajouter Beanshell PostProcessor en tant qu'enfant de la demande qui renvoie la réponse que vous recherchez
  2. Mettez la ligne suivante dans la zone "Script" de PostProcessor:

    vars.put("response", new String(data));
    
  3. Référer la valeur extraite comme ${response} si nécessaire

    Voir Comment utiliser BeanShell: le composant intégré préféré de JMeter guide pour en savoir plus sur les scripts Beanshell dans JMeter


Alternativement, vous pouvez faire de même avec l'extracteur d'expressions régulières, dans ce cas, la configuration appropriée sera:

  • Nom de référence: response
  • Expression régulière: (?s)(^.*)
  • Modèle: $1$

Si vous avez besoin d'une partie de la réponse, et non de la totalité de la réponse, vous pouvez modifier l'expression régulière en fonction de vos besoins conformément au chapitre Expressions régulières du manuel d'utilisation de JMeter

14
Dmitri T

Si vous avez vraiment besoin de stocker la réponse entière dans une variable, procédez comme suit:

  1. Ajouter JSR223 PostProcessor en tant qu'enfant de la demande qui renvoie la réponse que vous recherchez

JSR223 Post Processor

  1. Mettez la ligne suivante dans la zone "Script":

vars.put ("réponse", prev.getResponseDataAsString ());

  1. Utilisez ensuite cette réponse comme $ {response} là où vous en avez besoin

Mais vous avez rarement besoin d'utiliser la réponse entière et vous devez l'éviter pour de gros, dans ce cas, il est préférable d'utiliser l'extracteur qui convient à votre format de réponse:

8
UBIK LOAD PACK

Vous pouvez utiliser Extracteur d'expressions régulières de post-processeur de JMeter pour extraire la valeur requise de la réponse. Ajoutez simplement ceci sous l'échantillonneur dont la réponse contiendra la valeur requise.

Dans l'extracteur d'expressions Reg, vous définirez le nom de la variable (referenceName), RegularExpression, le modèle, etc. Plus tard, vous pourrez utiliser la valeur de cette variable. Pour savoir comment utiliser l'extracteur d'expression Reg, vous pouvez vous référer au didacticiel suivant.

https://docs.blazemeter.com/customer/portal/articles/1743642-using-regex-regular-expression-extractor-with-jmeter

5
TestingWithArif