Tutoriel Jmeter: Comment envoyer un fichier JSON en tant que demande dans le corps

Dans ce didacticiel JMeter, nous expliquons comment envoyer un ou plusieurs fichiers JSON dans le corps de la requête HTTP.

Lors du test d'une API RESTful, nous envoyons normalement une requête POST à ​​l'API REST au format JSON. Les paramètres de la requête au format JSON doivent être envoyés dans le corps de la requête HTTP.

Tout d'abord, vous aurez besoin d'un fichier texte avec la requête JSON. Nous utiliserons ce fichier pour l'envoyer à notre API REST dans le corps de la requête POST.


Supposons que le fichier se trouve dans /Users/testing-excellence/Perf/blog/json_request.txt

jmeter-json-request-post


Notre script JMeter ressemblera à ceci:

jmeter-post-request-json

En d'autres termes, nous devons sélectionner les données corporelles dans l'échantillonneur HTTP et insérer la ligne de code suivante

${__FileToString(/Users/testing-excellence/Perf/blog/${__eval(${json_file})}.txt,,)}

Évidemment, le chemin sera différent sur votre machine.


La ligne ci-dessus prend le contenu du fichier nommé json_file.txt et envoie le contenu du corps de la requête à l'API REST.

Comme JMeter est principalement utilisé pour les tests de performances et de charge, nous pouvons tester la charge de notre API REST en envoyant plusieurs requêtes JSON.

Pour ce faire, nous utilisons l’élément CVS Data Set Config de JMeter.

Dans le fichier CSV, nous avons une colonne avec les noms des fichiers de requête JSON. Ce fichier CSV sert de référence aux fichiers JSON.


Supposons que nous ayons 10 fichiers JSON, avec des noms de fichiers 100.txt, 101.txt, 103.txt… .110.txt

jmeter-post-json-request

Et le fichier CSV ressemblera à ceci:

jmeter-csv-json-request


Ensuite, dans JMeter, nous ajoutons l'élément CSV Data Set Config à notre plan de test

json-csv-request-post-jmeter

La variable est JSON_FILE qui prend les valeurs de 100, 101, 102, etc… du fichier CSV.

Ensuite, nous devons référencer cette variable dans notre __FileToString() Fonction JMeter, c'est-à-dire


jmeter-json-file-csv-request

Lorsque nous exécutons ce test JMeter, il effectuera une boucle dans le CVS, en prenant chaque nom de fichier et en extrayant le contenu de chaque fichier à envoyer en tant que JSON dans le corps de la requête.