# Runner

> Execute uma coleção ou pasta inteira em ordem, pare ou continue diante de uma falha, passe os valores capturados de uma requisição para a seguinte e exporte o relatório.

## Começar uma execução

- <kbd>⌘R</kbd> executa a coleção da requisição em que você está (**Run → Run Collection…**).
- Botão direito em uma coleção ou pasta na barra lateral para **Run Collection…** / **Run Folder…**.
- <kbd>⌘K</kbd> → *Run Collection · nome*.

A folha de execução lista todas as requisições da subárvore, em profundidade e na ordem da barra lateral, cada uma com sua caixa de seleção. Acima ficam **Select All** / **Deselect All** e um contador *n of m selected*.

## Opções

- **Stop on failure** (padrão) ou **Continue on failure**.
- **Delay** entre requisições, em milissegundos.

Uma requisição **passa** quando a chamada de rede termina e o status está entre 200 e 399. Qualquer outra coisa — 4xx, 5xx, timeouts, erros de DNS — falha. Um [contrato](/pt-br/docs/contracts) que não se cumpre mais é reportado na própria coluna e nunca marca a requisição como falha: o servidor respondeu.

## As capturas fluem para a frente

Antes de cada requisição o runner reconstrói a cascata de variáveis, então os valores capturados por uma requisição anterior (um token, um id) já estão disponíveis para a próxima. Uma cadeia *login → criar → consultar* roda sozinha com três regras de captura; veja [Variáveis e segredos](/pt-br/docs/variables).

Cada passo também escreve uma linha no [Histórico](/pt-br/docs/system#histórico), exatamente como um envio manual.

## Resultados e relatório

Durante a execução a folha mostra uma barra de progresso e *n of m*; <kbd>⎋</kbd> cancela. No fim você tem **Total / Passed / Failed / Elapsed**, uma linha por requisição com método, status, duração, chaves capturadas e sua célula de contrato, e:

- **Run Failed Again** — executa de novo só as requisições que falharam.
- **Export…** — salva o relatório como **JSON** ou **CSV**. As colunas do CSV são `name, method, url, status, durationMs, error, capturedKeys, contract`; o JSON acrescenta o carimbo de tempo, os totais e se a execução foi cancelada.

Quando pelo menos uma requisição da corrida tem contrato, o resumo acrescenta **Off contract** e **No contract** — os dois números andam sempre juntos, porque zero desvios sobre nove requisições que ninguém verifica não é uma boa notícia. A coluna `contract` diz `passed`, `failed(n)`, `invalid_schema` ou `not_json`.

<kbd>⌘↵</kbd> executa (ou executa de novo) de qualquer ponto da folha.

<figure class="shot">
<img src="/docs/pt-br/runner.webp" alt="O relatório do runner: 14 requisições, 14 corretas e 0 falhas em 6,48 s, uma delas verificada contra o seu contrato" width="1600" height="1000" loading="lazy">
<figcaption>RELATÓRIO · 14 de 14, com o contrato verificado na única requisição que tem um schema</figcaption>
</figure>

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