Pre-request Scripts: Datos Dinámicos y Generación de Fechas / UUIDs
Aprende a ejecutar JavaScript antes de enviar cada petición en Postman para generar datos aleatorios, calcular marcas de tiempo y firmar peticiones con CryptoJS.
¿Qué es un Pre-request Script en Postman?
Un Pre-request Script es un bloque de código JavaScript que Postman ejecuta en un entorno aislado de Node.js justo antes de despachar la petición HTTP por la red.
Es indispensable para resolver problemas cotidianos como:
- Evitar el error "El correo ya existe" al probar endpoints de registro mediante la generación de emails aleatorios únicos.
- Calcular marcas de tiempo dinámicas en milisegundos (
Date.now()) requeridas por APIs bancarias. - Generar firmas criptográficas (HMAC-SHA256) utilizando la librería nativa
CryptoJSde Postman.
Variables Dinámicas Nativas (Sin Escribir Código)
Para casos sencillos, Postman incluye cientos de variables dinámicas integradas (empiezan con el símbolo $) que puedes escribir directamente en el Body o en la URL:
| Variable Mágica | Dato que Genera | Ejemplo de Salida |
|---|---|---|
{{$guid}} |
Identificador único universal (UUID v4) | f47ac10b-58cc-4372-a567-0e02b2c3d479 |
{{$timestamp}} |
Marca de tiempo actual en segundos UNIX | 1794200400 |
{{$randomEmail}} |
Correo electrónico ficticio aleatorio | [email protected] |
{{$randomInt}} |
Número entero aleatorio entre 0 y 1000 | 742 |
{{$randomPrice}} |
Precio aleatorio con decimales | 89.45 |
Uso del Objeto `pm.*` en JavaScript
En la pestaña Pre-request Script tienes acceso completo al objeto global pm (Postman):
pm.environment.set("mi_variable", valor);Guarda un dato en el entorno activo.pm.variables.get("mi_variable");Lee el valor de una variable.
⚡ Script Previo para Generar Usuario Único y Timestamp
Código JavaScript para colocar en la pestaña Pre-request Script:
// 1. Generar sufijo aleatorio único para que el registro nunca colisione
const sufijoAleatorio = Math.random().toString(36).substring(2, 8);
const nuevoEmail = `test_${sufijoAleatorio}@kilopolis.com`;
// 2. Calcular timestamp y guardar en variables del entorno
pm.environment.set("email_de_prueba", nuevoEmail);
pm.environment.set("fecha_creacion", new Date().toISOString());
// 3. Ejemplo de firma criptográfica con CryptoJS (si la API lo exige)
const claveSecreta = "mi_secreto_super_seguro_2026";
const mensaje = `${nuevoEmail}:${Date.now()}`;
const firmaHMAC = CryptoJS.HmacSHA256(mensaje, claveSecreta).toString();
pm.environment.set("firma_api", firmaHMAC);
console.log("Datos generados para la petición:", {
email: nuevoEmail,
firma: firmaHMAC
});
Mini-Quiz de Retención
Comprueba tu comprensión antes de pasar a la siguiente lección¿En qué momento exacto del ciclo de vida de Postman se ejecuta el código colocado en la pestaña "Pre-request Script"?
¿Tienes dudas con este tema?
Sócrates AI puede darte analogías y explicarte este código paso a paso.🚀 ¿Quieres dominar Manual de Postman: Pruebas de APIs REST & Automatización y crear proyectos reales?
Aprende arquitectura limpia, desarrollo web moderno, buenas prácticas y despliegue en producción con nuestro Bootcamp Fullstack Developer con mentorías en vivo.
🏛️ Autoría y Propiedad Intelectual: Obra educativa original de David Amador para Kilopolis Academia (Solucionáticos), estructurada sobre las especificaciones y estándares abiertos del W3C, el estándar vivo de WHATWG y la documentación oficial de código abierto. © Todos los derechos reservados.