Pruebas de API Rest con JMeter

Pruebas de API Rest con JMeter
MIN
20 Ene 2024

Actualmente, REST (Representational State Transfer) se ha convertido en el modelo más utilizado para implementar servicios web. Es ligero, no está fuertemente tipado y, a diferencia de SOAP, no está vinculado al formato XML. Así que también se convirtió en una noticia candente para la GC. En nuestras entradas anteriores, hemos mencionado las pruebas manuales de la API REST y la automatización de la API REST mediante Java. En este post, demostraremos cómo realizar pruebas funcionales o de carga de API REST utilizando JMeter.

En este tutorial, estoy utilizando una API REST ficticia disponible en jsonplaceholder.typicode.com. Utilizaré el método HTTP Post de la API para solicitar la función «publicar comentarios» de esta API ficticia.

ADRESA URL API - http://jsonplaceholder.typicode.com/posts

Telo požiadavky API

{

    title: 'foo',

    body: 'bar',

    userId: 1

}

Pri úspešnej požiadavke API vráti nasledujúcu odpoveď (ako je vidieť v časti View Result Tree).

{

  title: 'foo',

  body: 'bar',

  userId: 1

  id: 101, //or any random id

}

Pasos para programar la API Rest en JMeter

  • Primero tenemos que añadir el muestreador de peticiones HTTP al grupo de hilos (Plan de pruebas -> Grupo de hilos -> Muestreador->Petición HTTP)
  • A continuación, en la sección del servidor web, tenemos que especificar el nombre o la dirección IP del servidor API y su puerto (si es necesario).

La sección Solicitud HTTP deberá completarse como:

  • Nombre del servidor o IP – nombre del servidor (por ejemplo, jsonplaceholder.typicode.com)
  • Implementación – selecciona HttpClient4 o Java
  • [http]Protocolo – Dependiendo del tipo de protocolo, selecciona HTTP o HTTPS (por ejemplo, la API ficticia está construida sobre http, así que usaremos http aquí)
  • Método – Dependiendo del tipo de método sobre el que se haya construido la API, selecciona Get, Put, Post, Delete, etc (en nuestro ejemplo trabajaremos con el método Post).
  • Ruta – Ruta a la aplicación después de API_URL (por ejemplo. para API_URL http://jsonplaceholder.typicode.com/posts’ será Ruta «posts».
  • Parámetros/Cuerpo de la solicitud (Parameters/Post Request Body) – añade aquí el cuerpo de la solicitud de la API (cuerpo de la solicitud de la API en la sección «Post Body» (ver captura de pantalla más abajo para más detalles, o también podemos introducir los parámetros de la solicitud de uno en uno en la sección Parámetros)
  • El usuario también debe añadir el Gestor de cabeceras HTTP como hijo al muestreador de peticiones HTTP (para el ejemplo actual no es necesario, ni siquiera funcionará) con la cabecera content-type
  • Haz clic en el botón Añadir del Gestor de Encabezados HTTP y añade «Content-Type» en Nombre y «application/json» en Valor.
  • [Voliteľné]Además, podemos añadir varias afirmaciones al plan de pruebas para marcar un caso de prueba como correcto o incorrecto en función de la respuesta obtenida. Por ejemplo. La API ficticia anterior devuelve «title:foo» en su respuesta. Así que para probar la API, podemos añadir «Aserción de respuesta» a la «Solicitud HTTP» (Solicitud HTTP->ADD->Aserción->Aserción de respuesta) y añadir el patrón «title: ‘foo'» a la sección Patrón a probar de la Aserción de respuesta. Mira la captura de pantalla como referencia.
  • Por último, podemos añadir diferentes escuchas, por ejemplo «Mostrar árbol de resultados». Tras ejecutar el script JMeter (Ctrl+r), veremos la respuesta de la API en la sección «Ver árbol de resultados» de los datos de respuesta.

De este modo, podemos realizar pruebas funcionales de la API Rest y aumentar el «número de hilos» y el «número de ciclos» en el grupo de hilos para las pruebas de carga.