Postman es una de las herramientas más populares para desarrollar y probar APIs. La he estado utilizando desde 2017, y aprender a usar Postman para probar APIs realmente me ayudó a acelerar mi proceso de pruebas.
En este artículo, te guiaré paso a paso mostrando cómo validar solicitudes API usando Postman. Al final, deberías poder crear tus propias pruebas automatizadas.
Pero antes de sumergirnos en el tutorial de Postman propiamente dicho, permíteme explicarte algunas cosas sobre las APIs.
¿Qué son las APIs?
API es la abreviatura de Interfaz de Programación de Aplicaciones. Aún no está muy claro, ¿verdad? 😅 Permíteme ampliar esa definición:
Una API es una interfaz que define las formas en que los scripts o programas pueden comunicarse con una aplicación o servicio. Funcionan compartiendo datos e información entre aplicaciones, sistemas y dispositivos.
La API más común actualmente es la REST API, que utilizaré más adelante en este tutorial de pruebas API con Postman. REST también es un acrónimo de REpresentational State Transfer. Las REST APIs se basan en principios como la comunicación cliente-servidor, interfaces uniformes para la comunicación entre sistemas, operaciones sin estado y más.
La comunicación se realiza a través de solicitudes y respuestas HTTP.
La anatomía de las solicitudes HTTP
Las solicitudes HTTP tienen 4 componentes principales:
- La URL
- El endpoint, que representa el recurso específico con el que queremos interactuar.
- El método HTTP—los métodos HTTP indican al servidor si intentamos recuperar información o qué modificaciones nos gustaría que realizara la aplicación. Hoy cubriremos las operaciones CRUD básicas:
- Crear: POST
- Leer: GET
- Actualizar: PUT
- Eliminar: DELETE
- El cuerpo de la solicitud. Esto es opcional, dependiendo del método que usemos. Usaremos el formato JSON (JavaScript Object Notation) en este tutorial de Postman.
Códigos de respuesta HTTP
Cuando realizamos una solicitud HTTP, el servidor nos envía un código de respuesta, que nos indica si la solicitud tuvo éxito o no. Las principales categorías de códigos de respuesta HTTP son:
- 1xx: respuesta informativa
- 2xx: éxito
- 3xx: redirección
- 4xx: error del cliente
- 5xx: error del servidor
Me encanta esta representación visual de Julia Evans:

Puedes encontrar una lista completa de los códigos de respuesta aquí, o si prefieres que te los expliquen con gatos, aquí 🐱👓
Bien, creo que ya cubrimos suficiente para comenzar con el tutorial propiamente dicho—¡ahora veamos cómo usar Postman para probar APIs!
Cómo usar Postman para probar APIs (Paso a paso)
Puedes usar Postman de dos formas: directamente desde el navegador (necesitarás crear una cuenta para poder hacerlo), o instalado en tu equipo local—tener una cuenta es opcional para esta opción.
Personalmente, prefiero tenerlo instalado, simplemente porque no me gusta el desorden de tantas pestañas abiertas en el navegador, así que esto es lo que usaré a partir de ahora.
Este es un tutorial para principiantes, así que usaré algunos casos de prueba simples para demostrar cómo usar Postman para probar una API. La aplicación de demostración que emplearé es Swagger Petstore, y el escenario que pondré a prueba es:
- Agrega una nueva mascota a la tienda usando el estado 'pending'
- Actualiza el estado de la mascota a 'available'
- Valida que la información de la mascota se haya actualizado
- Elimina la mascota
- Confirma que la mascota haya sido eliminada
¡Ok, vamos!

La primera solicitud HTTP en Postman
Postman permite agrupar las solicitudes de API en colecciones. Estas son grupos de solicitudes HTTP relacionadas. Adelante, crea una nueva colección para todas las solicitudes que utilizarás en las pruebas:

Bien, ahora tienes una colección vacía.
Haz clic en la URL 'Add a request' o el botón '+' en la lista de pestañas:

La página Swagger UI sirve como documentación para la API.
El recurso (endpoint) que necesitas para crear una nueva mascota es '/pet' y el método HTTP es POST.
Desde la pestaña de modelo, puedes ver el objeto que debes enviar como cuerpo de la solicitud y los tipos de datos para cada valor:

Usaremos el formato JSON para enviar el cuerpo de la respuesta, así que habilita el botón de radio 'raw' y selecciona JSON del desplegable.
El cuerpo de la solicitud debería verse algo así:
{
"id": 0,
"category": {
"id": 0,
"name": "dog"
},
"name": "Spike",
"photoUrls": [
"string"
],
"tags": [
{
"id": 0,
"name": "bulldog"
}
],
"status": "pending"
}
Puedes agregar fácilmente el resto de los detalles en la nueva pestaña de solicitud:

Para crear esta nueva mascota en el servidor, haz clic en el botón Send.
Si todo sale bien, recibirás una respuesta exitosa y el cuerpo de la respuesta contendrá alguna información de la mascota, incluyendo su ID.
Necesitaremos usar esto más adelante:

El siguiente paso es actualizar la información de la mascota.
Para esto, necesitas acceder al mismo recurso, '/pet', pero enviar una solicitud con el método HTTP PUT.
Puedes ver qué información necesitas enviar en el cuerpo de la solicitud:

Entonces, crea una nueva solicitud, usando la misma URL de solicitud, selecciona el método PUT y envía el mismo cuerpo de la solicitud, excepto que cambia el valor de status a ‘available’ y utiliza el ID de la respuesta anterior:
{
"id": <introduce el ID aquí>,
"category": {
"id": 0,
"name": "dog"
},
"name": "Spike",
"photoUrls": [
"string"
],
"tags": [
{
"id": 0,
"name": "bulldog"
}
],
"status": "available"
}
La respuesta debería ser nuevamente 200 OK. A continuación, vamos a leer la información de la mascota, para validar que el estado se haya actualizado correctamente.
El método HTTP para esto es GET y la solicitud acepta el ID como parámetro:

La respuesta contiene todos los datos de la mascota, incluido el estado, que ahora tiene el valor ‘available’:

La solicitud de eliminación se realizará a la misma URL exacta que el GET (incluyendo el parámetro ID), pero el método HTTP seleccionado será DELETE:

Nuevamente, la solicitud debería ser exitosa y la respuesta HTTP 200:

Si vuelves a enviar la solicitud GET para el mismo ID de mascota, obtendrás un bonito 404 de solicitudes HTTP, porque la mascota ya no se puede encontrar en el servidor:

Añadir pruebas en Postman
Con los pasos anteriores, pasaste por todos los pasos en el escenario de prueba, pero cada resultado debía ser validado manualmente, comprobando los códigos y cuerpos de respuesta.
Veamos cómo automatizar las pruebas de la API usando Postman, para que no tengas que realizar estas comprobaciones manualmente.
Comienza con la primera solicitud, el POST, y haz clic en la pestaña Tests (Pruebas) de la solicitud.
Elige en el lado derecho el fragmento 'Status code: Code is 200'. Los fragmentos en Postman son scripts predefinidos que puedes usar para no tener que escribir el código manualmente. Cada línea de código que se ingresa en la pestaña Tests de la solicitud se ejecutará después de que la solicitud haya sido enviada.
Puedes cambiar el nombre de la prueba por algo más descriptivo (por ejemplo, 'La creación de la mascota fue exitosa').
Vuelve a enviar la solicitud y esta vez verás que la pestaña Test Results de la respuesta muestra 1/1 pruebas exitosas, y el nombre de la prueba aprobada:

Puedes añadir este fragmento tanto a las solicitudes PUT como DELETE.
Para validar el valor de status en la respuesta de la solicitud GET, utiliza el fragmento ‘Response body: JSON value check’:
pm.test("Tu nombre de prueba", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.value).to.eql(100);
});
Lo que hace este fragmento de código es guardar la respuesta en una variable llamada jsonData, que va a analizar, leer el valor de un atributo y compararlo con el valor esperado.
Para nosotros, esto significa que el atributo ‘status’ debe tener el valor ‘available’. Por lo tanto, la prueba debería verse así:
pm.test("El estado de la mascota es 'available'", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.status).to.eql("available");
});
Y para la comprobación final, que confirma que la mascota fue eliminada, ejecutando de nuevo el GET, podemos duplicar la solicitud GET inicial y añadir una prueba que valide que esta vez el código de respuesta HTTP es 404:

Puedes mover las solicitudes dentro de la colección arrastrándolas y soltándolas.

Uso de variables en Postman
Probablemente notaste que tuvimos que copiar y pegar manualmente el ID de la solicitud POST en todas las solicitudes siguientes. ¿Y si hubiera una manera más fácil de hacerlo?
¡Buenas noticias! Podemos usar variables en Postman para almacenar valores reutilizables. Así, si los valores deben cambiar, podemos cambiarlos en un solo lugar, de la misma manera que intentamos hacer en todas las pruebas automatizadas.
Las variables de Postman tienen tres ámbitos:
- Global: variables que se puede acceder desde cualquier entorno y cualquier colección
- Entorno: variables guardadas a nivel de entorno. No utilicé entornos en este tutorial, pero es bueno saber que Postman nos permite crear distintos entornos para los diversos contextos en los que trabajamos. Por ejemplo, entornos separados para Desarrollo, UAT y Producción
- Colección: estas variables se almacenan a nivel de la colección y pueden ser accedidas desde todas las solicitudes dentro de la colección.
Hay varias maneras de configurar variables de colección.
La forma más sencilla es simplemente crearlas desde la colección.
Para hacer esto, haz clic en el nombre de la colección, selecciona la pestaña de variables y escribe el nombre y valor de la variable:

Para usar esta variable, reemplaza el valor original en las solicitudes por el nombre de la variable escrito entre dos llaves, así: {{petId}}
Necesitarás usarla dentro de los cuerpos de las solicitudes POST y PUT, para el parámetro “id”, de esta forma:
"id": {{petId}},
Y en la URL de las solicitudes GET y DELETE, así: https://petstore.swagger.io/v2/pet/{{petId}}
Puedes ver la versión final de la colección aquí.
Ejecutar la colección de Postman
¡Y ahora viene la mejor parte! Todo el objetivo de este tutorial era mostrarte cómo ejecutar pruebas automatizadas usando Postman. Todo lo que hicimos antes fue para prepararte para esta parte.
Para ejecutar las pruebas automáticamente, haz clic derecho sobre el nombre de la colección, o pasa el cursor sobre él, luego haz clic en el menú de tres puntos junto al nombre y selecciona ‘Ejecutar colección’.

Esto abrirá el Collection Runner:

En esta pantalla, puedes seleccionar cuáles de tus solicitudes quieres enviar, puedes cambiar su orden, puedes ejecutar la colección varias veces (aumentando el número de Iterations), o puedes añadir demoras entre las solicitudes.
Puedes dejar los valores predeterminados por ahora y hacer clic en el botón ‘Ejecutar’. Una vez que finalice la ejecución, podrás ver los resultados de las pruebas para todos los escenarios que queríamos probar, ¡con solo un clic sencillo:

¡Y eso fue todo! Si seguiste todos los pasos de este artículo, ¡ya deberías tener tus primeras pruebas automatizadas de API en Postman! 🚀
Resumen
Postman es una herramienta muy útil cuando se trata de probar APIs, y este artículo solo fue una introducción. Sin embargo, logramos cubrir cómo enviar solicitudes HTTP, cómo leer las respuestas, cómo crear pruebas y cómo verificar automáticamente los resultados de las pruebas.
Si te gustó este artículo, suscríbete al boletín QA Lead para estar al día con todas las noticias y tendencias en testing de software.

