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

  1. Introducción a los Scripts de Postman
  2. Manipulación de Datos con JavaScript
  3. Validación Avanzada de Respuestas
  4. Control de Flujo y Lógica Condicional
  5. Ejercicios Prácticos

  1. 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.

  1. 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.

  1. 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".

  1. 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.

  1. Ejercicios Prácticos

Ejercicio 1: Generar y Validar un Token de Autenticación

Instrucciones:

  1. Crea una solicitud POST para autenticar un usuario y recibir un token.
  2. Usa un script de prueba para validar que el token se recibe correctamente.
  3. 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:

  1. Envía una solicitud GET a una API que devuelve un objeto JSON.
  2. 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.

© Copyright 2024. Todos los derechos reservados