Para obtener las tramas del servicio y hacer las pruebas cree un nuevo proyecto SOAP hacuendo click en "File" y luego en "New SOAP Project".
En la nueva ventana digite el nombre del proyecto y luego pegue la URL del WSDL si lo tiene en internet o la dirección del archivo si lo tiene descargado en su computador, luego haga click en "Ok".
Si es necesario realizar una autentificación para acceder al servicio, se le pedirán sus datos de inicio de sesión, tras digitar su usuario y contraseña, haga click en "Ok".
Encontrará al final de la lista de la izquierda el nuevo proyecto que acaba de crear, haga click en "+" hasta poder ver "Request" y haga doble click en él.
Se abrirá una ventana con la trama de la consulta, allí podrá realizar las pruebas independientes que desee cambiando los "?" por los datos de la consulta y haciendo clic en el botón de ejecutar.
Repita los pasos anteriores para obtener la trama de cada uno de los servicios que desee probar, si lo desea es recomendable cambiar los nombres de los proyectos para poder distinguir los servicios entre sí.
Abra la aplicación JMeter y haga click izquierdo en "Test Plan", lick en "Add", "Threads (Users)" y "Thread Group"
En este thread group se indica la cantidad de usuarios o de veces que se probará el sistema, ese valor se digita en "Number of Threads (Users)", cambie ese valor acorde a la longitud del archivo de entrada o la cantidad de casos que desea probar.
Haga click izquierdo en el thread group, click en "Add", "Config Element" y "User Defined Variables"
Haga clic en el botón "Add" para ir agregando variables a la lista, se recomienda definir variables como nombre de usuario, contraseña y la ubicación del archivo de entrada o de salida.
Nuevamente haga click izquierdo en "Thread Group", click en "Add", "Config Element" y "HTTP Autorization Manager".
Haga click en "Add" para agregar una primera fila a la lista y luego ingrese la base de la URL donde se encuentra el WSDL, digite ${username}
como nombre de usuario y ${password}
como contraseña ya que son las variables para tal fin que definimos en el punto 4.
Haga click izquierdo en "Thread Group", click en "Add", "Config Element" y "HTTP Header Manager".
Haga click en "Add" dos veces y digite los siguientes datos en la tabla, si el servicio necesita que las consultas tengan algún encabezado adicional, agréguelo a la lista.
Name | Value |
---|---|
Content-Type | text/xml; charset=utf-8 |
SOAPAction | http://sap.com/xi/WebService/soap1.1 |
Haga click izquierdo en "Thread Group", click en "Add", "Config Element" y "CSV Data Set Config".
Llene los campos resaltados en rojo de la siguiente manera: en "Filename" digite ${inputPath}
que es la variable que se definió en el punto 4. para que indicara la ubicación del archivo con los datos de entrada, en "File encoding" seleccione "UTF-8", en "Variable Names" ingrese los nombres de las columnas de los datos que contiene el archivo, los demás campos déjelos tal cual como se muestra en la imagen.
Haga click izquierdo en "Thread Group", click en "Add", "Sampler" y "HTTP Request".
Regrese por un momento a SoapUI y copie la URL (marcada como 1 en la imagen) y la consulta (marcada como 2 en la imagen).
Digite el nombre del servicio en "Name", ingrese "http" en el campo "Protocol", seleccione el tipo de consulta según lo definido en el servicio (en este caso es "POST"), en "Path" pegue la URL que estaba marcada con 1 en el punto anterior y en "Body Data" pegue el contenido de la consulta que estaba marcada como 2 en el punto anterior.
Reemplace los "?" con las variables correspondientes definidas en el punto 5 de la sección anterior de la misma forma como se muestra en la imagen.
Repita el proceso de esta sección para cada uno de los servicios que desee agregar al proyecto.
Las verificaciones se pueden agregar a un solo servicio o a todos (agregándola directamente al Thread Group), las principales se muestran a continuación:
En la lista de requisitos de todos los servicios, se pide que la consulta se realice en menos de 4 segundos, por lo que agregaremos una verificación de tiempo general a todos los servicios.
Haga click izquierdo en "Thread Group", click en "Assertions" y seleccione "Duration Assertion".
En el campo "Duration in milliseconds" ingrese el número de milisegundos máximo que debe tardar cada solicitud, como en este caso son 4 segundos indicaremos 4000 milisegundos.
Estas verificaciones revisarán si la respuesta a la solicitud contiene o no un texto en específico, en este caso verificaremos que el valor total que retorna uno de los servicios coincida con el indicado en el archivo de entrada.
Haga click izquierdo en el servicio, click en "Add", "Assertions" y seleccione "Response Assertion".
Seleccione la opción "Contains", haga click en add e ingrese el texto que desea verificar que contiene la respuesta, en este caso ingresaremos als etiquetas de la posición donde se encuentra el valor junto con ${pagado}
para verificar que contiene el valor indicado en el archivo de entrada.
Si lo desea puede cambiar el nombre de la verificación para poder diferenciar fácilmente las verificaciones entre sí, tambiene puede agregar en la parte inferior el mensaje de error que se mostrará cuando una prueba no cumpla esta verificación.
Repita los pasos anteriores con cada una de las verificaciones que desee agregar.
Este reporte muestra cada una de las pruebas realizadas, junto con sus verificaciones, las consultas, resultados, encabezados y en general todos los datos manejados durante las pruebas.
Haga click izquierdo sobre "Thread Group", click en "Listener" y seleccione "View Results Tree".
Ingrese en "Filename" la localización del archivo para los resultados del árbol.
Este reporte muestra un resumen general de todas las pruebas agrupado por servicios, mostrará el porcentaje de pruebas que tuvieron éxito o error, la velocidad a la que se realizaron, cuantos bites se recibieron y en general las métricas necesarias para comprender grosso modo el desempeño de las pruebas.
Haga click izquierdo sobre "Thread Group", click en "Listener" y seleccione "Summary Report".
Ingrese en "Filename" la localización del archivo para el resultado del reporte.
Este reporte incluye exclusivamente los datos relacionados con las verificaciones realizadas a cada una de las pruebas incluyendo si estas las pasaron o no.
Haga click izquierdo sobre "Thread Group", click en "Listener" y seleccione "Assertion Report".
Ingrese en "Filename" la localización del archivo para el resultado de las verificaciones.