Pular para o conteúdo

Sessões de gravação

Uma sessão de gravação observa uma página web enquanto a utiliza e anota cada chamada API que ela efetua: REST, GraphQL, gRPC-web e WebSocket. As chamadas capturadas consultam-se como respostas normais e, nos planos Pro e Enterprise, transformam-se numa pasta de verdadeiros pedidos que pode voltar a executar, pré-preenchidos com o que a página realmente enviou.

É o caminho mais curto para documentar uma API de que só tem o front-end: nenhum proxy a configurar, nenhum certificado a instalar, nenhuma extensão de navegador.

Uma sessão cria-se em qualquer ponto da árvore — na raiz, numa pasta ou numa pasta de ambiente — a partir do menu de contexto («Adicionar» → «Sessão de gravação») ou do menu «Criar»; apenas um cenário não pode conter uma. Aparece na árvore lateral como um nó pai: um clique na própria sessão abre a página de configuração, e cada uma das suas linhas filhas abre o seu próprio separador.

Página de configuração de uma sessão de gravação: o url da página, os protocolos capturados, a lista branca e a lista negra, e o botão Iniciar a gravação

A configuração resume-se a quatro elementos:

  • O url da página a abrir no mini-navegador (http://, https:// ou file://). O botão «Iniciar a gravação» permanece desativado enquanto o url não for válido.
  • Os protocolos a capturar: HTTP, WebSocket, GraphQL, gRPC-web — todos assinalados por predefinição.
  • A lista branca: expressões regulares; uma chamada é conservada se corresponder a pelo menos uma delas. Vazia, deixa passar tudo.
  • A lista negra: expressões regulares; uma chamada que corresponda a uma delas é descartada. A lista negra tem sempre a última palavra.

Só estas definições e as rotas deduzidas são guardadas no ficheiro de projeto. As chamadas capturadas ficam em memória: desaparecem quando o projeto é fechado e nunca são escritas no disco.

O botão «Iniciar a gravação» abre a página num separador do mini-navegador e liga o gravador antes do primeiro carregamento, de modo que as chamadas efetuadas pela página no arranque — incluindo uma ligação WebSocket aberta de imediato — são capturadas. Um halo pulsante à volta do emblema da sessão na árvore lateral, e à volta do seu separador, assinala que a gravação está em curso.

O mini-navegador durante uma gravação: a página do site, os botões Pausar a gravação e Parar a gravação na barra de endereço, o emblema vermelho na sessão

Navegue e utilize a página normalmente. Dois botões na barra de endereço controlam a sessão:

  • Pausar a gravação mantém a página aberta mas deixa de guardar as chamadas — prático para atravessar um ecrã sem interesse.
  • Parar a gravação desliga o gravador e fecha o separador do navegador. As capturas continuam disponíveis.

Gravar é sempre um gesto explícito: um separador de navegador restaurado ao reabrir a aplicação não grava nada.

Os sites que precisam da sua localização pedem-na ao navegador e, por predefinição, o mini-navegador não revela nada. A definição Partilhar a sua localização com o navegador integrado, na secção Privacidade das definições da aplicação e desativada por predefinição, fornece a sua localização aproximada depois de lhe pedir consentimento — a partir do serviço de localização do sistema ou, na sua falta, de uma estimativa ao nível da cidade com base no seu endereço IP. Desativá-la esquece a localização de imediato.

A linha «Capturas» da sessão abre a vista das chamadas, agrupadas por execução da mais antiga à mais recente e atualizadas em direto durante a gravação. Enquanto a lista estiver deslocada até ao fundo, segue as chamadas mais recentes; suba para ler uma e a lista fica parada. Um campo de filtro restringe a lista; o detalhe de uma chamada reutiliza exatamente os separadores de resposta dos pedidos (corpo, informações, cookies, grafo), protocolo a protocolo.

A vista das capturas: à esquerda a lista das chamadas agrupadas por execução, à direita o detalhe da chamada selecionada com os seus separadores de resposta

O menu de contexto de uma chamada propõe «Adicionar à lista branca…» ou «Adicionar à lista negra…», com o seu url pré-preenchido como padrão. Pode aplicar o novo padrão às chamadas já capturadas: as que deixam de passar são eliminadas, definitivamente — a aplicação pede confirmação.

O número de chamadas conservadas por sessão é limitado (1 000 por predefinição, ajustável nas definições da aplicação); além desse limite, as mais antigas são apagadas.

Nos planos Pro e Enterprise, o botão Deduzir as rotas da vista das capturas transforma as chamadas numa árvore sob a linha «Rotas» da sessão:

  • as chamadas são agrupadas por rota: um segmento de caminho que varia de uma chamada para outra (/pets/1, /pets/2) torna-se um parâmetro de caminho {{petId}};
  • as pastas seguem os prefixos estáticos dos caminhos (api › pets); as chamadas gRPC-web são arrumadas por serviço;
  • cada rota torna-se um pedido normal — HTTP, GraphQL, gRPC-web ou WebSocket — pré-preenchido a partir da última chamada bem-sucedida (cabeçalhos, parâmetros, corpo) e pronto a voltar a executar de imediato;
  • as chamadas capturadas são vertidas no histórico de respostas de cada pedido, no formato habitual e dentro do limite de retenção configurado; a resposta apresentada por predefinição é a da última chamada bem-sucedida.

A linha Rotas da sessão expandida: as pastas deduzidas e os seus pedidos, prontos a voltar a executar

Relançar a dedução após novas gravações funde os resultados: só as rotas novas são adicionadas, e os pedidos existentes — incluindo os que modificou — permanecem intactos.

No plano Community, a gravação e a consulta das capturas estão totalmente disponíveis; o separador Rotas apresenta um lembrete da funcionalidade Pro.

Toda a funcionalidade é exposta pelo servidor MCP do Restorm: criação e configuração de uma sessão, início e paragem da gravação, leitura das capturas e dedução das rotas. Um agente pode assim abrir uma página, deixá-la correr e entregar depois uma pasta de pedidos prontos a usar.