9. Construire un plan de test WebService

Dans cette section, vous apprendrez à créer un plan de test pour tester un WebService. Vous allez créer cinq utilisateurs qui envoient des demandes à une page. De plus, vous direz aux utilisateurs d'exécuter leurs tests deux fois. Ainsi, le nombre total de requêtes est de (5 utilisateurs) x (1 requêtes) x (répéter 2 fois) = 10 requêtes HTTP. Pour construire le plan de test, vous utiliserez les éléments suivants : Thread Group , HTTP Request et Aggregate Graph .

Si l'échantillonneur semble recevoir une erreur du service Web, revérifiez le message SOAP et assurez-vous que le format est correct. En particulier, assurez-vous que les attributs xmlns sont exactement les mêmes que le WSDL. Si l'espace de noms xml est différent, le service Web renverra probablement une erreur.

9.1 Création d'un plan de test WebService

Dans notre plan de test, nous utiliserons un service Web .NET. Nous n'entrerons pas dans les détails de l'écriture d'un webservice. Si vous ne savez pas comment écrire un service Web, recherchez le service Web sur Google et familiarisez-vous avec l'écriture de services Web pour Java et .NET. Il convient de noter qu'il existe une différence significative entre la manière dont .NET et Java implémentent les services Web. Le sujet est trop vaste pour être traité dans le manuel d'utilisation. Veuillez vous référer à d'autres sources pour avoir une meilleure idée des différences.

JMeter envoie les requêtes dans l'ordre dans lequel elles apparaissent dans l'arborescence.

Commencez par utiliser le menu File  →  Templates… et sélectionnez le template « Building a SOAP Webservice Test Plan ». Ensuite, cliquez sur le bouton " Créer ".


Illustration 9.1.0.  Modèle de service Web
Illustration 9.1.0. Modèle de service Web
Modifiez les éléments suivants :
  1. Dans " HTTP Request Defaults " changez " Server Name of IP "
  2. Dans " Soap Request ", changez " Path: "
    Figure 9.1.1 Chemin du service Web
    Figure 9.1.1 Chemin du service Web

Ensuite, sélectionnez " HTTP Header Manager " et mettez à jour l'en-tête " SOAPAction " pour qu'il corresponde à votre service Web. Certains webservices peuvent ne pas utiliser SOAPAction dans ce cas supprimez-le.
Actuellement, seul .NET utilise SOAPAction, il est donc normal d'avoir une SOAPAction vide pour tous les autres services Web. La liste comprend JWSDP, Weblogic, Axis, The Mind Electric Glue et gSoap.

Figure 9.1.2 En-têtes de service Web
Figure 9.1.2 En-têtes de service Web

La dernière étape consiste à coller le message SOAP dans la zone de texte " Body Data ".

Figure 9.1.3 Corps du service Web
Figure 9.1.3 Corps du service Web

9.2 Ajout d'utilisateurs

Le groupe de threads indique à JMeter le nombre d'utilisateurs que vous souhaitez simuler, la fréquence à laquelle les utilisateurs doivent envoyer des demandes et le nombre de demandes qu'ils doivent envoyer.

Sélectionnez l'élément Thread Group dans l'arborescence, si vous ne l'avez pas déjà sélectionné. Vous devriez maintenant voir le panneau de configuration du groupe de threads dans la section droite de la fenêtre JMeter (voir la figure 9.2 ci-dessous)


Illustration 9.2.  Groupe de threads avec valeurs par défaut
Illustration 9.2. Groupe de threads avec valeurs par défaut

Commencez par fournir un nom plus descriptif pour notre groupe de threads. Dans le champ du nom, saisissez Utilisateurs JMeter.

Ensuite, augmentez le nombre d'utilisateurs (appelés threads) à 10.

Dans le champ suivant, la période de montée en puissance, laissez la valeur par défaut de 0 seconde. Cette propriété indique à JMeter le délai entre le démarrage de chaque utilisateur. Par exemple, si vous entrez une période de montée en puissance de 5 secondes, JMeter finira de démarrer tous vos utilisateurs à la fin des 5 secondes. Donc, si nous avons 5 utilisateurs et une période de montée en puissance de 5 secondes, le délai entre les utilisateurs débutants serait de 1 seconde (5 utilisateurs / 5 secondes = 1 utilisateur par seconde). Si vous définissez la valeur sur 0, JMeter démarrera immédiatement tous vos utilisateurs.

Enfin, décochez la case intitulée " Forever " et entrez une valeur de 2 dans le champ Loop Count. Cette propriété indique à JMeter combien de fois répéter votre test. Si vous entrez une valeur de nombre de boucles de 0 , JMeter n'exécutera votre test qu'une seule fois. Pour que JMeter exécute à plusieurs reprises votre plan de test, cochez la case Toujours .

Dans la plupart des applications, vous devez accepter manuellement les modifications que vous apportez dans un panneau de configuration. Cependant, dans JMeter, le Panneau de configuration accepte automatiquement vos modifications au fur et à mesure que vous les apportez. Si vous modifiez le nom d'un élément, l'arborescence sera mise à jour avec le nouveau texte après avoir quitté le Panneau de configuration (par exemple, lors de la sélection d'un autre élément de l'arborescence).

Voir Figure 9.2 pour le groupe de threads d'utilisateurs JMeter complété.


Illustration 9.3.  Groupe de threads d'utilisateurs JMeter
Illustration 9.3. Groupe de threads d'utilisateurs JMeter

9.3 Ajout d'un écouteur pour afficher le stockage des résultats de test

Le dernier élément que vous devez ajouter à votre plan de test est un écouteur . Cet élément est chargé de stocker tous les résultats de vos requêtes HTTP dans un fichier et de présenter un modèle visuel des données.

Sélectionnez l'élément JMeter Users et ajoutez un écouteur Aggregate Graph ( Add  →  Listener  →  Aggregate Graph ). Ensuite, vous devez spécifier un répertoire et un nom de fichier pour le fichier de sortie. Vous pouvez soit le saisir dans le champ du nom de fichier, soit sélectionner le bouton Parcourir et naviguer jusqu'à un répertoire, puis entrer un nom de fichier.


Illustration 9.4.  Écouteur de résultats de graphique
Illustration 9.4. Écouteur de résultats de graphique

9.4 Webservice Rest

Tester un Webservice REST est très similaire car il suffit de modifier dans HTTP Request

  • Méthode : pour sélectionner celle que vous souhaitez tester
  • Body Data : qui peut être JSON, XML ou tout autre texte personnalisé
Vous devrez peut-être également modifier " HTTP Header Manager " pour sélectionner le bon " Content-Type "

Go to top