jMeter - Plan de prueba de servicio web

En este capítulo, aprenderemos cómo crear un plan de prueba para probar un servicio web. Para nuestro propósito de prueba, hemos creado un proyecto de servicio web simple y lo implementamos en el servidor Tomcat localmente.

Crear proyecto de servicio web

Para crear un proyecto de servicio web, hemos utilizado Eclipse IDE. Primero escriba la interfaz de punto final de servicioHelloWorld debajo del paquete com.tutorialspoint.ws. El contenido de HelloWorld.java es el siguiente:

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);
}

Este servicio tiene un método getHelloWorldMessage que toma un parámetro String.

A continuación, cree la clase de implementación HelloWorldImpl.java debajo del paquete 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");
   }
}

Publiquemos ahora este servicio web localmente creando el editor de Endpoint y exponiendo el servicio en el servidor.

El método de publicación toma dos parámetros:

  • Cadena de URL de extremo.

  • Objeto implementador, en este caso la clase de implementación HelloWorld, que se expone como un servicio web en el punto final identificado por la URL mencionada en el parámetro anterior.

El contenido de HelloWorldPublisher.java es el siguiente:

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());
   }
}

Modifique el contenido de web.xml como se muestra a continuación:

<?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>

Para implementar esta aplicación como un servicio web, necesitaríamos otro archivo de configuración sun-jaxws.xml. El contenido de este archivo es el siguiente:

<?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>

Ahora que todos los archivos están listos, la estructura del directorio se vería como se muestra en la siguiente captura de pantalla:

  • Ahora cree un archivo WAR de esta aplicación.

  • Elija el proyecto → haga clic derecho → Exportar → Archivo WAR.

  • Guardar esto como hello.war archivo bajo el webapps carpeta del servidor Tomcat.

  • Ahora inicie el servidor Tomcat.

  • Una vez que se inicia el servidor, debería poder acceder al servicio web con la URL: http: // localhost: 8080 / hello / hello

Crear plan de prueba de JMeter

Ahora creemos un plan de prueba para probar el servicio web anterior.

Cambiar el nombre del plan de prueba

  • Abra la ventana de JMeter haciendo clic en /home/manisha/apache-jmeter2.9/bin/jmeter.sh.

  • Haga clic en el nodo Plan de prueba.

  • Cambie el nombre de este nodo del plan de prueba como WebserviceTest.

Agregar grupo de subprocesos

Agregue un grupo de subprocesos, que es un marcador de posición para todos los demás elementos como muestreadores, controladores y oyentes.

  • Haga clic con el botón derecho en WebserviceTest (nuestro plan de prueba) → Agregar → Subprocesos (usuarios) → Grupo de subprocesos. El grupo de subprocesos se agregará en el nodo Plan de prueba (WebserviceTest).

  • A continuación, modifiquemos las propiedades predeterminadas del Grupo de subprocesos para que se adapten a nuestras pruebas. Se cambian las siguientes propiedades:

    • Name - usuario del servicio web

    • Number of Threads (Users) - 2

    • Ramp-Up Period - deje el valor predeterminado de 0 segundos.

    • Loop Count - 2

Agregar muestreador: solicitud SOAP / XML-RPC

Ahora que hemos definido a los usuarios, es hora de definir las tareas que realizarán.

Agregaremos el elemento de solicitud SOAP / XML-RPC -

  • Haga clic con el botón derecho del mouse para obtener el menú Agregar.

  • Seleccione Agregar → Muestreador → Solicitud SOAP / XML-RPC.

  • Seleccione el elemento de solicitud SOAP / XML-RPC en el árbol

  • Edite las siguientes propiedades como en la imagen a continuación:

  • Los siguientes detalles se ingresan en este elemento:

    • Name − SOAP/XML-RPC Request

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

    • Soap/XML-RPC Data - Ingrese los siguientes contenidos

<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>

Agregar oyente

El último elemento que debe agregar a su plan de prueba es un oyente. Este elemento es responsable de almacenar todos los resultados de sus solicitudes HTTP en un archivo y presentar un modelo visual de los datos.

  • Seleccione el elemento de usuario del servicio web.

  • Agregue un oyente Ver árbol de resultados seleccionando Agregar → Oyente → Ver árbol de resultados.

Ejecutar el plan de prueba

Ahora guarde el plan de prueba anterior como test_webservice.jmx . Ejecute este plan de prueba usando la opción Ejecutar → Iniciar.

Ver la salida

La siguiente salida se puede ver en el oyente.

En la última imagen, puede ver el mensaje de respuesta "Hola, Manisha al mundo JAX WS".