En este tema, aprenderás cómo utilizar scripts en Postman para automatizar tareas, validar respuestas y manipular datos. Los scripts en Postman se escriben en JavaScript y se pueden ejecutar antes de enviar una solicitud (Pre-request Script) o después de recibir una respuesta (Test Script).
Conceptos Clave
-
Pre-request Script:
- Se ejecuta antes de que se envíe la solicitud.
- Útil para configurar variables, autenticar solicitudes o modificar encabezados.
-
Test Script:
- Se ejecuta después de recibir la respuesta.
- Se utiliza para validar la respuesta, verificar el estado de la solicitud y extraer datos para su uso posterior.
-
Variables:
- Postman permite el uso de variables para almacenar y reutilizar datos.
- Las variables pueden ser globales, de entorno, de colección o locales.
Ejemplo Práctico
Pre-request Script
Supongamos que necesitas autenticar una solicitud generando un token antes de enviarla. Puedes usar un Pre-request Script para hacerlo.
// Generar un token de autenticación pm.environment.set("authToken", "Bearer " + btoa("username:password"));
Explicación:
pm.environment.set
se utiliza para establecer una variable de entorno.btoa
es una función de JavaScript que codifica una cadena en Base64.
Test Script
Después de recibir una respuesta, puedes usar un Test Script para validar el estado de la respuesta y extraer datos.
// Verificar que el estado de la respuesta sea 200 pm.test("Estado de respuesta es 200", function () { pm.response.to.have.status(200); }); // Extraer un valor del cuerpo de la respuesta var jsonData = pm.response.json(); pm.environment.set("userId", jsonData.id);
Explicación:
pm.test
se utiliza para definir una prueba.pm.response.to.have.status
verifica el estado HTTP de la respuesta.pm.response.json()
convierte el cuerpo de la respuesta en un objeto JSON.pm.environment.set
almacena el valor extraído en una variable de entorno.
Ejercicio Práctico
Objetivo: Crear un script que verifique si una API de usuario devuelve el nombre correcto y almacene el ID del usuario para futuras solicitudes.
-
Pre-request Script: No es necesario para este ejercicio.
-
Test Script:
// Verificar que el nombre del usuario sea "John Doe" pm.test("El nombre del usuario es John Doe", function () { var jsonData = pm.response.json(); pm.expect(jsonData.name).to.eql("John Doe"); }); // Almacenar el ID del usuario var jsonData = pm.response.json(); pm.environment.set("userId", jsonData.id);
Solución:
- Asegúrate de que la API de usuario devuelve un objeto JSON con un campo
name
yid
. - El script verifica que el nombre del usuario sea "John Doe" y almacena el
id
en una variable de entorno.
Errores Comunes y Consejos
-
Error: "pm.response.json is not a function"
- Solución: Asegúrate de que la respuesta sea un JSON válido. Verifica el encabezado
Content-Type
de la respuesta.
- Solución: Asegúrate de que la respuesta sea un JSON válido. Verifica el encabezado
-
Consejo: Usa
console.log
para depurar scripts y ver el contenido de las variables en la consola de Postman.
Conclusión
Los scripts en Postman son una herramienta poderosa para automatizar y validar pruebas de API. Al dominar los Pre-request y Test Scripts, puedes crear flujos de trabajo más eficientes y robustos. En el siguiente tema, exploraremos cómo realizar pruebas basadas en datos con Postman, lo que te permitirá ejecutar pruebas con múltiples conjuntos de datos.
Curso de Postman y Pruebas de API
Módulo 1: Introducción a las APIs y Postman
Módulo 2: Pruebas Básicas de API con Postman
- Creando Tu Primera Solicitud
- Entendiendo Solicitud y Respuesta
- Usando Colecciones de Postman
- Variables de Entorno en Postman
Módulo 3: Técnicas Intermedias de Pruebas de API
- Encadenando Solicitudes
- Usando Scripts de Postman
- Pruebas Basadas en Datos con Postman
- Pruebas de APIs RESTful
Módulo 4: Funciones Avanzadas de Postman
- Automatizando Pruebas con Newman
- Integración Continua con Postman
- Servidores Simulados en Postman
- Técnicas Avanzadas de Scripting
Módulo 5: Mejores Prácticas de Pruebas de API
- Diseñando Casos de Prueba Efectivos
- Manejo de Autenticación
- Manejo de Errores y Depuración
- Pruebas de Rendimiento con Postman