En este módulo, exploraremos técnicas avanzadas de scripting en Postman que te permitirán realizar pruebas más complejas y automatizadas. Aprenderás a utilizar JavaScript para manipular datos, validar respuestas y crear flujos de trabajo dinámicos. Este conocimiento es crucial para maximizar el potencial de Postman en tus pruebas de API.
Contenido
- Introducción a los Scripts de Postman
- Manipulación de Datos con JavaScript
- Validación Avanzada de Respuestas
- Control de Flujo y Lógica Condicional
- Ejercicios Prácticos
- Introducción a los Scripts de Postman
Postman permite el uso de scripts escritos en JavaScript para automatizar tareas y validar respuestas. Hay dos tipos principales de scripts en Postman:
- Scripts de Pre-solicitud: Se ejecutan antes de enviar una solicitud. Útiles para configurar el entorno o modificar la solicitud.
- Scripts de Prueba: Se ejecutan después de recibir una respuesta. Útiles para validar datos y almacenar información para solicitudes futuras.
- Manipulación de Datos con JavaScript
Ejemplo de Código: Manipulación de Datos
// Script de Pre-solicitud let randomNumber = Math.floor(Math.random() * 100); pm.environment.set("randomNumber", randomNumber); // Script de Prueba let responseData = pm.response.json(); let userId = responseData.userId; pm.environment.set("userId", userId);
Explicación:
- Math.floor(Math.random() * 100): Genera un número aleatorio entre 0 y 99.
- pm.environment.set: Guarda el valor en una variable de entorno para su uso posterior.
- pm.response.json(): Convierte la respuesta en un objeto JSON para facilitar el acceso a los datos.
- Validación Avanzada de Respuestas
Ejemplo de Código: Validación de Respuestas
pm.test("El estado de la respuesta es 200", function () { pm.response.to.have.status(200); }); pm.test("El cuerpo de la respuesta contiene el nombre de usuario", function () { let jsonData = pm.response.json(); pm.expect(jsonData).to.have.property("username"); });
Explicación:
- pm.test: Define una prueba que se ejecutará después de recibir la respuesta.
- pm.response.to.have.status(200): Verifica que el estado HTTP de la respuesta sea 200.
- pm.expect(jsonData).to.have.property("username"): Verifica que el objeto JSON tenga una propiedad "username".
- Control de Flujo y Lógica Condicional
Ejemplo de Código: Lógica Condicional
let jsonData = pm.response.json(); if (jsonData.status === "active") { pm.environment.set("isActive", true); } else { pm.environment.set("isActive", false); }
Explicación:
- if-else: Permite ejecutar diferentes bloques de código según la condición.
- pm.environment.set("isActive", true/false): Almacena un valor booleano basado en la condición evaluada.
- Ejercicios Prácticos
Ejercicio 1: Generar y Validar un Token de Autenticación
Instrucciones:
- Crea una solicitud POST para autenticar un usuario y recibir un token.
- Usa un script de prueba para validar que el token se recibe correctamente.
- Almacena el token en una variable de entorno para su uso en solicitudes futuras.
Solución:
// Script de Prueba pm.test("Token recibido", function () { let jsonData = pm.response.json(); pm.expect(jsonData).to.have.property("token"); pm.environment.set("authToken", jsonData.token); });
Ejercicio 2: Validar la Estructura de un Objeto JSON
Instrucciones:
- Envía una solicitud GET a una API que devuelve un objeto JSON.
- Usa un script de prueba para verificar que el objeto JSON contiene las propiedades esperadas.
Solución:
// Script de Prueba pm.test("Estructura del objeto JSON es correcta", function () { let jsonData = pm.response.json(); pm.expect(jsonData).to.have.all.keys("id", "name", "email"); });
Conclusión
En esta sección, hemos explorado cómo utilizar scripts avanzados en Postman para manipular datos, validar respuestas y controlar el flujo de las pruebas. Estas habilidades te permitirán crear pruebas más robustas y automatizadas, mejorando la eficiencia y efectividad de tus pruebas de API. En el siguiente módulo, aprenderemos a integrar Postman con herramientas de automatización y CI/CD para llevar tus pruebas al siguiente nivel.
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