# Runner

> Ejecuta una colección o carpeta completa en orden, detente o continúa ante un fallo, pasa los valores capturados de una petición a la siguiente y exporta el informe.

## Iniciar una ejecución

- <kbd>⌘R</kbd> ejecuta la colección de la petición en la que estás (**Run → Run Collection…**).
- Clic derecho sobre una colección o carpeta en la barra lateral para **Run Collection…** / **Run Folder…**.
- <kbd>⌘K</kbd> → *Run Collection · nombre*.

La hoja de ejecución lista todas las peticiones del subárbol, en profundidad y en el orden de la barra lateral, cada una con su casilla. Encima hay **Select All** / **Deselect All** y un contador *n of m selected*.

## Opciones

- **Stop on failure** (por defecto) o **Continue on failure**.
- **Delay** entre peticiones, en milisegundos.

Una petición **pasa** cuando la llamada de red se completa y el estado está entre 200 y 399. Cualquier otra cosa — 4xx, 5xx, timeouts, errores de DNS — falla. Un [contrato](/es/docs/contracts) que ya no se cumple se informa en su propia columna y nunca marca la petición como fallida: el servidor contestó.

## Las capturas fluyen hacia adelante

Antes de cada petición el runner reconstruye la cascada de variables, así que los valores capturados por una petición anterior (un token, un id) ya están disponibles para la siguiente. Una cadena *login → crear → consultar* corre sin intervención con tres reglas de captura; ver [Variables y secretos](/es/docs/variables).

Cada paso escribe además una fila en el [Historial](/es/docs/system#historial), exactamente igual que un envío manual.

## Resultados e informe

Durante la ejecución la hoja muestra una barra de progreso y *n of m*; <kbd>⎋</kbd> cancela. Al terminar tienes **Total / Passed / Failed / Elapsed**, una fila por petición con método, estado, duración, claves capturadas y su celda de contrato, y:

- **Run Failed Again** — vuelve a ejecutar solo las peticiones que fallaron.
- **Export…** — guarda el informe como **JSON** o **CSV**. Las columnas del CSV son `name, method, url, status, durationMs, error, capturedKeys, contract`; el JSON añade la marca de tiempo, los totales y si la ejecución se canceló.

Cuando al menos una petición de la corrida lleva contrato, el resumen añade **Off contract** y **No contract** — las dos cifras van siempre juntas, porque cero desvíos sobre nueve peticiones que nadie comprueba no es una buena noticia. La columna `contract` dice `passed`, `failed(n)`, `invalid_schema` o `not_json`.

<kbd>⌘↵</kbd> ejecuta (o vuelve a ejecutar) desde cualquier punto de la hoja.

<figure class="shot">
<img src="/docs/es/runner.webp" alt="El reporte del runner: 14 peticiones, 14 correctas y 0 fallidas en 6,52 s, una de ellas comprobada contra su contrato" width="1600" height="1000" loading="lazy">
<figcaption>REPORTE · 14 de 14, con el contrato comprobado en la única petición que lleva un schema</figcaption>
</figure>

---
Source: https://marinerhttp.dev/es/docs/runner · Mariner docs
