Pular para o conteúdo

Testar uma API REST em 5 minutos

Objetivo: partir de uma especificação OpenAPI e chegar a um teste automatizado que verifica um percurso completo.

1. Importar a especificação (30 segundos)

Section titled “1. Importar a especificação (30 segundos)”

Ficheiro ▸ Importar (Ctrl+I) e depois o URL do seu openapi.json.

O Restorm constrói a árvore completa: uma pasta por etiqueta, um pedido por operação, os parâmetros tipados, a documentação e os cabeçalhos de autenticação pré-ligados com as respetivas variáveis.

A árvore produzida pela importação OpenAPI, pronta a usar: uma pasta por etiqueta (pet, store, user) e um pedido pré-preenchido por operação, ao lado do subseparador inicial da pasta de variáveis

Se a sua API não tiver especificação, cole um comando curl — consulte Importar comandos cURL.

Abra a pasta de variáveis criada pela importação. O URL de base já lá está; complete a variável de autenticação que a importação preparou para si.

Crie um segundo ambiente se testar vários alvos — o seletor da smartbar muda toda a pasta de uma só vez.

3. Enviar uma primeira chamada (30 segundos)

Section titled “3. Enviar uma primeira chamada (30 segundos)”

Abra um pedido e clique em Send. A resposta aparece: estado, tempo, cabeçalhos e corpo num visualizador recolhível.

Se se esqueceu de algo, o valor resolvido mostrado sob o campo do URL indica-o.

Clique com o botão direito ▸ Adicionar ▸ Cenário. O percurso “criar, reler, eliminar”:

Pedido HTTP “POST /clients”
└─response──► Assert (eq, 201)
└─► Definir variável “clientId” ◄── seletor body.id
Pedido HTTP “GET /clients/{id}”
└─response──► Assert (eq, 200)
└─► Validação de esquema (o JSON Schema do cliente)
Pedido HTTP “DELETE /clients/{id}”
└─response──► Assert (eq, 204)

Os três pedidos usam {{clientId}} no seu URL: a variável de execução colocada na primeira etapa é lida pelas seguintes.

Encadeie-os ligando a porta done de cada asserção à porta in do pedido seguinte — é isso que garante a ordem.

Clique em Reproduzir. O registo enche-se; adicione uma ação Log depois de cada etapa para seguir o que importa.

Ligue uma ação Throw à saída else das suas asserções críticas: é isso que fará falhar o job de CI.

Terminal window
RESTORM_TOKEN=rstk_… restorm \
--open ./api.restorm \
--run "Parcours client" \
--headless \
--out run.log

Código de saída 0 se tudo passar, 1 caso contrário. Consulte Execução headless e CI para os exemplos de GitHub Actions e GitLab CI.