Collection Runner: Ejecución Masiva y Pruebas Basadas en Datos (Data-Driven)
Aprende a ejecutar suites completas de peticiones en lote con Collection Runner y alimentar tus pruebas automatizadas con conjuntos de datos masivos desde archivos CSV o JSON.
¿Qué es el Collection Runner de Postman?
El Collection Runner es el motor de ejecución por lotes de Postman. Permite disparar de manera secuencial y desatendida todas las peticiones de una carpeta o colección completa, evaluando los tests automatizados de cada una.
En lugar de hacer clic en Send 50 veces, abres el Runner, defines el orden, configuras un retardo opcional entre peticiones (Delay) y pulsas Run Collection. Al finalizar, obtienes una matriz con el conteo de pruebas aprobadas, fallidas y tiempos acumulados.
Pruebas Basadas en Datos (Data-Driven Testing)
Una de las características más potentes del Collection Runner es la capacidad de importar un archivo CSV o JSON externo para ejecutar la misma batería de peticiones con cientos de registros diferentes:
- 1 fila del archivo = 1 iteración completa: Si tu CSV tiene 100 filas, la colección se ejecutará 100 veces.
- Sustitución en URLs y Body: Los nombres de columna del CSV se convierten en variables accesibles con la sintaxis de doble llave:
{{nombre}},{{email}},{{precio}}. - Acceso desde Scripts: En las pestañas Pre-request o Tests, lees el valor de la fila actual con:
const valor = pm.iterationData.get("columna_csv");
Control de Flujo con `setNextRequest`
Por defecto, Postman ejecuta las peticiones en orden descendente tal como aparecen en la colección. Sin embargo, puedes alterar este flujo de forma lógica usando código:
postman.setNextRequest("Obtener Detalle");Salta directamente a esa petición específica.postman.setNextRequest(null);Detiene la ejecución del Runner inmediatamente tras la petición actual.
⚡ Archivo CSV de Datos y Validación de Iteración en Tests
Estructura del archivo CSV que se carga en el Runner y cómo se valida en el script de Tests:
/* ========================================================
CONTENIDO DEL ARCHIVO: usuarios-prueba.csv
--------------------------------------------------------
nombre,email,rol,codigo_esperado
Carlos Mendoza,[email protected],admin,201
Ana Morales,[email protected],editor,201
Usuario Invalido,correo-sin-arroba,estudiante,422
======================================================== */
// SCRIPT EN LA PESTAÑA TESTS DE LA PETICIÓN "Crear Usuario":
const codigoEsperado = parseInt(pm.iterationData.get("codigo_esperado"), 10);
const emailEnviado = pm.iterationData.get("email");
pm.test(`Validar respuesta esperada para usuario: ${emailEnviado}`, function () {
pm.response.to.have.status(codigoEsperado);
});
if (codigoEsperado === 201) {
const json = pm.response.json();
pm.test("Registro exitoso confirma datos del CSV", function () {
pm.expect(json.email).to.eql(emailEnviado);
pm.expect(json.rol).to.eql(pm.iterationData.get("rol"));
});
} else if (codigoEsperado === 422) {
pm.test("Manejo de error de validación cuando el email es inválido", function () {
const errorJson = pm.response.json();
pm.expect(errorJson).to.have.property("errores");
});
}
Mini-Quiz de Retención
Comprueba tu comprensión antes de pasar a la siguiente lección¿Qué método de Postman permite acceder al valor de una columna del archivo CSV durante una ejecución del Collection Runner?
¿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.