Execução headless e integração contínua
Um cenário construído na interface executa-se sem janela a partir da linha de comandos. É o caminho que transforma os seus testes de API numa etapa de pipeline.

restorm \ --open ./projet.restorm \ --run "Find pets by status" \ --headless \ --param status=availableOs argumentos
Section titled “Os argumentos”| Argumento | Função |
|---|---|
--open <path>, -o | O projeto a abrir. Obrigatório com --run |
--run <target> | O cenário a executar. A sua presença ativa o modo linha de comandos |
--by <name|id> | Como --run designa o cenário: pelo nome (predefinição) ou pelo identificador |
--headless | Nenhuma janela. Sem ele, a janela aparece enquanto o registo corre na consola |
--param name=value | Um valor para um parâmetro de entrada do cenário (uma caixa Input / Param). Repetível |
--all-logs | Inclui as entradas do motor; por predefinição só são emitidas as da ação Log |
--out <file> | Escreve também o registo num ficheiro, em tempo real |
--clear-settings, -cls | Reinicia as preferências antes do lançamento |
Um --param mal formado (sem =) é sinalizado na saída de erro e ignorado.
name= (valor vazio) é aceite.
Os valores são convertidos segundo o tipo declarado do parâmetro — ver Variáveis e dados.
Os códigos de saída
Section titled “Os códigos de saída”| Código | Significado |
|---|---|
0 | O cenário terminou corretamente |
1 | Falha, cancelamento ou erro do motor |
2 | Alvo não encontrado, ficheiro --out inacessível ou --run sem --open |
3 | Direito recusado: RESTORM_TOKEN ausente, inválido ou revogado, plano insuficiente ou ponto de verificação inalcançável |
É esta convenção que torna o resultado diretamente utilizável por um runner de CI.
A saída
Section titled “A saída”O registo é escrito na saída standard, uma entrada de cada vez, assim que é produzida, sob a forma de uma sequência YAML:
- message: "🔵 [2026-07-29 10:30:00.123] Commande créée" data: { id: 4271 }Os níveis são prefixados por um círculo colorido: ⚪ debug, 🔵 info, 🟠 warn,
🔴 error. As linhas nunca são cortadas — a saída continua a poder ser filtrada
com grep. Os erros saem pela saída de erro standard.
É exatamente o texto que o botão “copiar o registo” da interface produz: o mesmo formato de ambos os lados.
Os segredos na CI
Section titled “Os segredos na CI”Use a fonte de segredo variável de ambiente: o segredo é injetado pelo cofre da sua CI, o Restorm limita-se a lê-lo e nada é escrito no projeto. Ver Segredos.
GitHub Actions
Section titled “GitHub Actions”name: Tests d'APIon: [push]
jobs: api: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4
- name: Installer Restorm env: RESTORM_VERSION: '1.4.2' # a versão que quiser fixar run: | curl -sSL -o restorm.deb \ "https://dl.restorm.app/restorm_${RESTORM_VERSION}_amd64.deb" sudo apt-get install -y ./restorm.deb
- name: Exécuter les tests de fumée env: RESTORM_TOKEN: ${{ secrets.RESTORM_TOKEN }} API_TOKEN: ${{ secrets.API_TOKEN }} run: | xvfb-run -a restorm \ --open ./api.restorm \ --run "Find pets by status" \ --headless \ --all-logs \ --out run.log \ --param status=available
- name: Publier le journal if: always() uses: actions/upload-artifact@v4 with: name: journal-restorm path: run.logGitLab CI
Section titled “GitLab CI”tests-api: image: ubuntu:24.04 variables: RESTORM_TOKEN: $RESTORM_TOKEN RESTORM_VERSION: '1.4.2' # a versão que quiser fixar before_script: - apt-get update && apt-get install -y curl xvfb - curl -sSL -o restorm.deb "https://dl.restorm.app/restorm_${RESTORM_VERSION}_amd64.deb" - apt-get install -y ./restorm.deb script: - > xvfb-run -a restorm --open ./api.restorm --run "Find pets by status" --headless --all-logs --out run.log --param status=$PET_STATUS artifacts: when: always paths: [run.log]O que muda em modo headless
Section titled “O que muda em modo headless”- As ações Toast não fazem nada; a execução prossegue normalmente.
- Os parâmetros não podem ser pedidos interativamente: forneça-os todos com
--paramou deixe-os assumir o seu valor predefinido. - O servidor MCP nunca arranca numa máquina sem ecrã, qualquer que seja a definição.
Obter um token
Section titled “Obter um token”O token RESTORM_TOKEN (prefixado rstk_) gera-se a partir do painel de
controlo da sua conta. Está associado à organização, não a uma pessoa: é o
token que se coloca no cofre da CI. Ver
Contas e ligação.