web-dev-qa-db-fra.com

Passage de variable de réponse à requête dans JMETER

Besoin de transmettre une donnée d'une réponse à la demande suivante. Quelque chose ne va pas et la valeur de la variable par défaut apparaît dans la demande.

La première demande renvoie le JSON dans le corps de la réponse, qui ressemble à ceci:

{"issued_at":"2016-01-14T12:41:01.000Z","expires":"2016-01-14T12:46:01.000Z","id":"j6M ... MTA=="}
 enter image description here

J'extrais la valeur de l'attribut id à l'aide de l'extracteur d'expressions régulières:

 enter image description here

Ensuite, je passe la variable token au paramètre de requête suivant:

 enter image description here

Mais la demande est créée avec la valeur par défaut de la variable:
 enter image description here

6
user299702

Il existe un JSON Path Extractor conçu pour traiter le type de contenu JSON, je pense qu’il serait plus facile de l’utiliser. 

La requête de chemin JSON pertinente sera aussi simple que $..id

Voir Utilisation de XPath Extractor dans JMeter (faites défiler jusqu'à "Analyse de JSON") pour obtenir des informations complètes sur l'installation et l'utilisation du plug-in et JSONPath - XPath for JSON pour référence du langage JSONPath et exemples. 

En ce qui concerne votre configuration Regular Expression Extractor: 

  • retirer 1 du numéro de correspondance 
  • Fournir $1$ comme modèle
4
Dmitri T

Le problème a été résolu en réglant le bouton radio "Champ à vérifier" sur "Corps" dans la boîte de dialogue "Extracteur d'expressions régulières" et en définissant la valeur du champ Modèle sur $ 1 $. Merci à alphamikevictor et Dmitri T à l'aide!

2
user299702

Si vous examinez la documentation Regular Expression Extractor , le champ Modèle est requis. Je vous suggère d'utiliser la valeur $ 1 $ et essayez à nouveau.

2
alphamikevictor

Vous devez utiliser ${token_g1} pour obtenir la valeur du premier groupe de la correspondance regex (la valeur que vous recherchez).

0
Steve