jMeter - Plan de test des services Web

Dans ce chapitre, nous allons apprendre à créer un plan de test pour tester un WebService. Pour nos besoins de test, nous avons créé un projet de service Web simple et l'avons déployé localement sur le serveur Tomcat.

Créer un projet de service Web

Pour créer un projet de service Web, nous avons utilisé Eclipse IDE. Écrivez d'abord l'interface de point de terminaison de serviceHelloWorld sous le paquet com.tutorialspoint.ws. Le contenu de HelloWorld.java est le suivant -

package com.tutorialspoint.ws;

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;

//Service Endpoint Interface
@WebService
@SOAPBinding(style = Style.RPC)

public interface HelloWorld {
   @WebMethod String getHelloWorldMessage(String string);
}

Ce service a une méthode getHelloWorldMessage qui prend un paramètre String.

Ensuite, créez la classe d'implémentation HelloWorldImpl.java sous le paquet com.tutorialspoint.ws.

package com.tutorialspoint.ws;

import javax.jws.WebService;

@WebService(endpointInterface="com.tutorialspoint.ws.HelloWorld")
public class HelloWorldImpl  implements HelloWorld  {
   @Override
   public String getHelloWorldMessage(String myName) {
      return("Hello "+myName+" to JAX WS world");
   }
}

Publions maintenant ce service Web localement en créant l'éditeur Endpoint et exposons le service sur le serveur.

La méthode de publication prend deux paramètres -

  • Chaîne d'URL du point de terminaison.

  • Objet Implementor, dans ce cas, la classe d'implémentation HelloWorld, qui est exposée en tant que service Web au point de terminaison identifié par l'URL mentionnée dans le paramètre ci-dessus.

Le contenu de HelloWorldPublisher.java est le suivant -

package com.tutorialspoint.endpoint;

import javax.xml.ws.Endpoint;
import com.tutorialspoint.ws.HelloWorldImpl;

public class HelloWorldPublisher {
   public static void main(String[] args) {
      Endpoint.publish("http://localhost:9000/ws/hello", new HelloWorldImpl());
   }
}

Modifiez le contenu web.xml comme indiqué ci-dessous -

<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, 
   Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">

<web-app>
   <listener>
      <listener-class>
         com.sun.xml.ws.transport.http.servlet.WSServletContextListener
      </listener-class>
   </listener>
	
   <servlet>
      <servlet-name>hello</servlet-name>
      <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
      <load-on-startup>1</load-on-startup>
   </servlet>
	
   <servlet-mapping>
      <servlet-name>hello</servlet-name>
      <url-pattern>/hello</url-pattern>
   </servlet-mapping>
	
   <session-config>
      <session-timeout>120</session-timeout>
   </session-config>
	
</web-app>

Pour déployer cette application en tant que service Web, nous aurions besoin d'un autre fichier de configuration sun-jaxws.xml. Le contenu de ce fichier est le suivant -

<?xml version = "1.0" encoding = "UTF-8"?>
<endpoints
   xmlns = "http://java.sun.com/xml/ns/jax-ws/ri/runtime"
   version = "2.0">
   
   <endpoint name = "HelloWorld" 
      implementation = "com.tutorialspoint.ws.HelloWorldImpl" 
      url-pattern = "/hello"/>
</endpoints>

Maintenant que tous les fichiers sont prêts, la structure des répertoires ressemblera à celle illustrée dans la capture d'écran suivante -

  • Créez maintenant un fichier WAR de cette application.

  • Choisissez le projet → clic droit → Exporter → fichier WAR.

  • Enregistrez ceci sous hello.war fichier sous le webapps dossier du serveur Tomcat.

  • Démarrez maintenant le serveur Tomcat.

  • Une fois le serveur démarré, vous devriez pouvoir accéder au webservice avec l'URL - http: // localhost: 8080 / hello / hello

Créer un plan de test JMeter

Maintenant, créons un plan de test pour tester le webservice ci-dessus.

Renommer le plan de test

  • Ouvrez la fenêtre JMeter en cliquant sur /home/manisha/apache-jmeter2.9/bin/jmeter.sh.

  • Cliquez sur le nœud Plan de test.

  • Renommez ce nœud de plan de test en tant que WebserviceTest.

Ajouter un groupe de threads

Ajoutez un groupe de threads, qui est un espace réservé pour tous les autres éléments tels que les échantillonneurs, les contrôleurs et les écouteurs.

  • Faites un clic droit sur WebserviceTest (notre plan de test) → Ajouter → Threads (utilisateurs) → Thread Group. Le groupe de threads sera ajouté sous le nœud Plan de test (WebserviceTest).

  • Ensuite, modifions les propriétés par défaut du Thread Group en fonction de nos tests. Les propriétés suivantes sont modifiées -

    • Name - utilisateur du webservice

    • Number of Threads (Users) - 2

    • Ramp-Up Period - laissez la valeur par défaut de 0 seconde.

    • Loop Count - 2

Ajouter un échantillonneur - Requête SOAP / XML-RPC

Maintenant que nous avons défini les utilisateurs, il est temps de définir les tâches qu'ils vont effectuer.

Nous allons ajouter un élément de requête SOAP / XML-RPC -

  • Cliquez avec le bouton droit de la souris pour afficher le menu Ajouter.

  • Sélectionnez Ajouter → Échantillonneur → Requête SOAP / XML-RPC.

  • Sélectionnez l'élément de requête SOAP / XML-RPC dans l'arborescence

  • Modifiez les propriétés suivantes comme dans l'image ci-dessous -

  • Les détails suivants sont saisis dans cet élément -

    • Name − SOAP/XML-RPC Request

    • URL - http: // localhost: 8080 / bonjour / bonjour? Wsdl

    • Soap/XML-RPC Data - Entrez le contenu ci-dessous

<soapenv:Envelope xmlns:soapenv = "http://schemas.xmlsoap.org/soap/envelope/" 
   xmlns:web = "http://ws.tutorialspoint.com/">
   <soapenv:Header/>
	
   <soapenv:Body>
      <web:getHelloWorldMessage>
         <arg0>Manisha</arg0>
      </web:getHelloWorldMessage>
   </soapenv:Body>
   
</soapenv:Envelope>

Ajouter un auditeur

Le dernier élément que vous devez ajouter à votre plan de test est un auditeur. 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 utilisateur du service Web.

  • Ajoutez un écouteur Afficher l'arborescence des résultats en sélectionnant Ajouter → Écouteur → Afficher l'arborescence des résultats.

Exécutez le plan de test

Maintenant, enregistrez le plan de test ci-dessus sous test_webservice.jmx . Exécutez ce plan de test en utilisant l'option Exécuter → Démarrer.

Afficher la sortie

La sortie suivante peut être vue dans l'écouteur.

Dans la dernière image, vous pouvez voir le message de réponse «Hello Manisha to JAX WS world».