Tutoriel JMeter: Test des services Web REST

Dans ce didacticiel Jmeter, nous examinons comment nous pouvons tester une API REST ou un service Web à l'aide de l'outil Jmeter.

Nous pouvons utiliser Jmeter pour envoyer une requête Json à un service Web RESTful et également analyser la réponse Json.

Plan de test pour le service Web REST

  • Groupe de threads
  • Requête HTTP

Comme pour tous les tests Jmeter, nous devons d'abord créer un groupe de threads avec un échantillonneur de requête HTTP.


test-reste-jmeter-1

Si vous exécutez maintenant le test, vous pouvez obtenir une erreur avec un code de réponse de 415 et un message de réponse «Type de support non pris en charge».


En effet, l'API REST peut s'attendre à des paramètres 'Content-Type' et 'Access' dans la demande d'en-tête.

test-reste-jmeter-7

  • Gestionnaire d'en-tête HTTP

Ensuite, nous devons ajouter un gestionnaire d'en-tête HTTP pour envoyer des paramètres dans l'en-tête de la requête. Nous devons envoyer des variables «Content-Type» et «Access» comme en-têtes de requête.

test-reste-jmeter-3


test-reste-jmeter-4

Très probablement, vous devez enregistrer votre application via une clé API. Cela doit être envoyé en tant que méthode POST à ​​l'API REST dans le corps de la demande .

  • Données POST dans le corps de la requête

test-reste-jmeter-8

Et la réponse au format Json


test-reste-jmeter-9

Ensuite, il faut extraire ou analyser la réponse Json.

  • Extraire la réponse Json

Jmeter a un pratique plugin appelé JsonPath qui peut être utilisé pour analyser les réponses Json.

Une fois que vous avez installé le plugin ci-dessus, nous pouvons utiliser Json Path Extractor comme post-processeur


testing-json-path-extractor

Une fois que nous avons ajouté Json Path Extractor à notre plan de test, nous pouvons utiliser la notation par points pour référencer les éléments Json.

Dans cet exemple, nous voulons extraire la valeur du 'client_id':

extracteur de chemin json


La valeur de «client_id» sera enregistrée dans la variable nommée «client_id_value». Vous pouvez donner n'importe quel nom significatif que vous souhaitez.

Une fois la valeur enregistrée dans le nom de la variable, nous pouvons rappeler la valeur en utilisant ce nom de variable au format $ {client_id_value}

jmeter-reste-test