1
votes

Comment transférer un bloc JSON d'une requête HTTP à une autre dans jmeter?

Le problème lui-même réside dans: J'ai une réponse d'un échantillonneur HTTP, qui ressemble à

{
"data": [
    {"report_date": "xx.xx.xxxx"},
    {"report_date": "xx.xx.xxxx"},
    {"report_date": "xx.xx.xxxx"}
],
"pagination": {
    "totalRow": 58,
    "pageNumber": 0,
    "pageSize": 0
},
"accessButtons": null

}

Je dois transférer le bloc entier avec les dates de rapport vers un autre échantillonneur HTTP. Comment puis-je faire cela exactement? J'ai réussi à saisir une date de rapport et à créer une variable pour chaque date de rapport trouvée, mais je dois soit les mettre tous en bloc dans le prochain échantillonneur, soit, d'une manière ou d'une autre, créer ce bloc à partir de la liste variables. D'où dois-je commencer?


0 commentaires

4 Réponses :


0
votes

Vous pouvez enregistrer toutes les réponses à l'aide de Regular Expression Extractor vers une variable using regex

[^`]*

Je n'utilise pas les valeurs ( ^ ) `pour obtenir toutes les réponses avec des retours à la ligne

Si c'est du JSON interne, vous pouvez mettre le texte avant et après dans regex


0 commentaires

0
votes

Il est probablement préférable d'utiliser l'extracteur JSON dans jmeter et d'utiliser $ .. data [: 3] Chemin JSON qui récupérera le bloc "data" et ramènera les lignes dans l'index 0, 1 et 2. Jetez un œil à cet article et essayez:

Comment analyser une réponse JSON à l'aide de l'extracteur JSON de JMeter


0 commentaires

0
votes
  1. Ajoutez un post-processeur -> Extracteur JSON à la requête. entrez la description de l'image ici

  2. Donnez un nom de variable "MyVariable" et dans le champ "JSON path Expression" donnez simplement "$"

 entrez la description de l'image ici

  1. Indiquez la variable "MyVariable" dans la requête suivante, le cas échéant.

0 commentaires

0
votes
  1. Ajoutez JSR223 PostProcessor comme enfant de la requête qui renvoie au-dessus de JSON
  2. Mettez le code suivant dans la zone "Script":

    def data = new groovy.json.JsonSlurper().parse(prev.getResponseData()).data
    def payload = new groovy.json.JsonBuilder(data).toPrettyString()
    log.info('------Generated JSON--------')
    log.info(payload)
    vars.put('data', payload)
    
  3. Voilà, le contenu de l'élément data n'est pas stocké dans $ {data} Variable JMeter:

     entrez la description de l'image ici

  4. Plus d'informations:


0 commentaires