Skip to Content
Guia das telasBanco de Testes

Banco de Testes — /test-bench

À esquerda o estímulo, à direita o que aconteceu — etapa por etapa
À esquerda o estímulo, à direita o que aconteceu — etapa por etapa

Testar uma integração recém-configurada tirava você do produto. Para exercitar uma Coleta com Parâmetros de Entrada era preciso montar um POST no Postman ou no Insomnia; para ver uma Entrega acontecer, era preciso uma mensagem chegando de verdade — ou seja, esperar um ciclo real.

O custo não era só o clique. O payload de teste ficava na coleção de uma pessoa: ninguém revisava, ninguém reexecutava quando a integração mudava, e ele não viajava junto quando a integração era instalada em outro cliente.

O Banco de Testes traz isso para dentro do CMS.

Os combos oferecem as Coletas e Entregas das Interfaces que você pode ver — cada uma com a descrição da Interface ao lado da sigla —, menos as das ferramentas de Help Desk: para testar um destino de chamado, use o botão Abrir chamado na Configuração ITSM, que passa pelo corpo do destino.

A regra que sustenta a tela

O teste roda pelo caminho de produção, marcado como teste. Não existe um segundo motor de execução: testar uma Entrega é injetar uma mensagem de verdade na Interface, e testar uma Coleta é chamar o mesmo executor que o agendador chama.

Isso é uma decisão de confiança. Um caminho de teste separado seria a garantia de que o teste passa e a produção falha — e é exatamente por isso que um teste verde aqui é uma afirmação sobre o sistema real, não sobre uma simulação dele.

A marca “teste”

Se o teste passa pelo caminho de produção, ele precisa ser distinguível do tráfego de verdade. Toda mensagem gerada aqui nasce marcada, e a marca muda o que o sistema faz com ela:

O que uma mensagem de teste não faz
Não bloqueia a Interface, mesmo que caia num Erro de Negócio com “bloqueia fila”
Não dispara alerta de erro de entrega, erro de negócio nem fila bloqueada
Não conta nos painéis, nos relatórios nem no Raio-X do Dia
Não entra no Contrato Observado — o payload de teste não contamina o schema inferido do tráfego

Na tela de Mensagens, no monitor da interface e no detalhe da mensagem ela aparece com um frasco âmbar, que mostra quem disparou ao passar o mouse, e o filtro de tráfego deixa escolher entre reais e de teste, só tráfego real ou só do Banco de Testes.

O modo Publicar na origem é a exceção, e ela é deliberada — ver abaixo. A mensagem que nasce ali é real, porque o CMS não tem como distinguir o estímulo que você produziu daquele que o equipamento produziu.

Os quatro modos

O modo é a pergunta central da tela: até onde este teste vai?

ModoO que fazEscreve fora do CMS?
EnsaioResolve credencial, variável e template e mostra o que sairiaNão
LeituraExecuta a busca na origem e mostra o que veio; não grava mensagem nem entregaLê, não escreve
Publicar na origemProduz o estímulo na própria origem — publica no broker, escreve no CLP, solta o arquivo na pasta — para a Coleta reagir sozinhaSim
Ciclo completoPassa pelo caminho de produção inteiro: grava a mensagem e entrega no destino realSim

Ensaio é o modo do dia a dia de configuração: ele mostra o método e a URL, a query string, os cabeçalhos que a requisição realmente levaria (inclusive os que o CMS acrescenta), o corpo já transformado, ou o comando SQL com os binds — tudo sem que nada saia da máquina. É o único modo que funciona bem antes de ativar a Definição, e é por isso que a caixa “+N inativa(s)” existe no combo: o momento mais útil do Ensaio é justamente antes de ligar a integração.

Leitura existe só para Coleta, e nem toda Coleta a aceita. Quando não aceita, a tela diz o motivo em vez de apenas recusar — um FILE_WATCH não tem “buscar agora”, um HTTP_POST escreveria no destino, um tipo push espera o mundo externo chamar.

Publicar na origem é o que dá teste ao conector que não é chamado, e sim acionado: MQTT, OPC UA, Modbus e pasta observada. Você publica no tópico, escreve o valor de gatilho ou cria o arquivo, e assiste a Coleta reagir pelo caminho normal.

De onde vem o payload

Digitar JSON do zero é a última opção da tela, não a primeira. Acima do editor aparecem as fontes que o CMS já tem:

FonteO que é
Do Contrato ObservadoUm exemplo montado a partir do schema inferido do tráfego real daquela Definição
Exemplo NAmostra declarada à mão, guardada no Contrato Observado
Uma mensagem realO payload de uma das últimas mensagens que passaram por ali, com data e hora

Definição com Regra de Criptografia não oferece mensagens reais como ponto de partida — a tela diz isso em vez de omitir em silêncio. Decifrar para preencher um campo de teste contornaria a regra que alguém configurou de propósito.

O editor é o mesmo Monaco do resto do produto e pinta o conteúdo pela linguagem do Content-Type da própria Definição — um corpo XML não sai sublinhado de vermelho por ser lido como JSON quebrado.

Quando a Definição tem contrato de entrada (os campos “vem de fora” de uma Entrega SAP, os Parâmetros de Entrada de uma Coleta), o payload ganha a chave Formulário | JSON. No Formulário, cada campo do contrato é uma caixa, com os obrigatórios marcados — ninguém precisa lembrar o nome exato de localInstalacao. As duas vistas editam o mesmo conteúdo: trocar de uma para a outra não perde nada.

Enviar como uma Aplicação produtora

Numa Entrega com Transformador por Aplicação produtora, o Ciclo completo ganha o campo Enviar como. Sem ele, o teste seguiria só o caminho de quem já manda no formato da Entrega, e o Transformador de cada produtora ficaria sem teste.

OpçãoO que o teste faz
Sem Aplicação produtora (já no formato da Entrega)O padrão. Só o Transformador da Entrega roda
Uma produtora (sigla — Transformador)O payload passa pelo Transformador dela antes do da Entrega, como uma mensagem real dela. Escreva-o no formato que ela manda

Escolhida uma produtora, o editor e o Content-Type do envio seguem os dela — XML, se ela manda XML —, e a tela deixa de conferir os Parâmetros de Entrada: o payload está no formato da produtora, e quem o leva ao contrato é o Transformador dela. Quem enviou continua sendo você, e a mensagem nasce marcada como teste como qualquer outra daqui. No painel de resultado, o Transformador da produtora aparece antes do da Entrega, na ordem em que rodaram.

Uma mensagem real que passou pelo Transformador de uma produtora sugere o que ela mandou, com a sigla dela ao lado da data — e escolhê-la já marca Enviar como com a mesma produtora e passa para o Ciclo completo. Sem isso, o teste mandaria o dialeto da produtora como se fosse o formato da Entrega.

O campo só existe no Ciclo completo: o Ensaio parte de um payload já no formato da Entrega e não roda o Transformador da produtora, e oferecê-la ali mostraria uma requisição que não sairia. Com Enviar como preenchido também não há Salvar como cenário — o cenário não guarda a produtora, e repetido mandaria o dialeto dela sem o Transformador dela.

Antes de escrever no destino real

Ciclo completo e Publicar na origem pedem confirmação digitada: você escreve a sigla da Definição para prosseguir. O texto diz o destino, o tipo de operação e — no caso da publicação na origem — que a mensagem gerada será real.

A confirmação existe para alguém ver qual destino vai ser escrito. Ela cumpre isso na primeira vez; da segunda em diante, numa sessão de ajuste em que se dispara o mesmo teste dez vezes, viraria digitação repetida. Por isso existe a caixa “não perguntar de novo”, e ela tem limites deliberados:

  • vale por Definição e por modo — dispensar o Ciclo completo não dispensa a publicação na origem, que é mais grave;
  • vale enquanto a aba estiver aberta, e morre com ela;
  • enquanto estiver ativa, a tela avisa em amarelo que o próximo clique dispara direto, com um botão para voltar a perguntar.

O que aconteceu

O painel da direita conta a história na ordem em que ela acontece: primeiro o que foi enviado, depois a resposta do destino. Ver o retorno sem ver a requisição obriga a adivinhar o que o CMS montou — e é justamente aí que mora a maioria dos erros de configuração.

Cada etapa abre e fecha: requisição, query string, cabeçalhos, corpo, comando, binds, retorno. Nas etapas de conteúdo há duas abas, Preview (formatado) e Cru (byte a byte, como saiu).

  • Valor de Variável Global usado como bind aparece identificado, sem o valor.
  • Conteúdo protegido por Regra de Criptografia aparece cifrado, com o aviso de que decifrar exige a Ferramenta própria.
  • Quando a mensagem foi gerada, há um atalho direto para ela na tela de Mensagens.
  • Quando a condição de um encaminhamento não foi atendida, o quadro Encaminhamentos não feitos diz qual destino ficou de fora e por quê. O alerta Condição Atendida não dispara com mensagem de teste.

Coleta que espera o ciclo da Interface

No Ciclo completo de uma Coleta com destino, a mensagem nasce Não Processada e só é encaminhada no próximo ciclo da Interface — que, numa Interface agendada de hora em hora, pode estar a quase uma hora de distância. O painel diz isso por extenso: “Aguardando o próximo ciclo da Interface X: 24/09/2026 15:00” (ou “roda a cada N s”, numa Interface por intervalo).

Ao lado fica Encaminhar agora, que adianta o encaminhamento só das mensagens deste teste. Ele não roda o ciclo da Interface — aquilo faria também a busca de produção e levaria junto qualquer outra mensagem parada ali. Com a Interface bloqueada o botão não aparece: nada é encaminhado até o desbloqueio. O clique fica no Log de Auditoria, como ENCAMINHAR_TESTE_COLETA.

Chegando aqui pelo caminho curto

Ninguém acorda decidido a “ir ao Banco de Testes”: a pessoa está olhando uma Definição e quer ver aquilo funcionar. Por isso o acesso principal não é o menu, e sim o botão Testar na linha da Coleta ou da Entrega em Definições de Coleta, Definições de Entrega e Definição de Mensagem. Ele abre esta tela já apontada para aquela Definição.

O Banco de Testes lê a Definição já gravada. Se houver alteração não salva na tela de cadastro, o CMS avisa antes de trazer você para cá: o que está na tela e ainda não foi salvo fica de fora do teste.

Guardar o teste que acabou de rodar

Um teste que funcionou é conhecimento que costuma se perder. O botão Salvar como cenário pega o disparo que acabou de acontecer — Definição, modo, payload e parâmetros — e o guarda num Plano de Teste, com a opção de transformar o resultado obtido em expectativa.

Se o teste falhou, a tela avisa: o cenário vai afirmar que a falha acontece. Isso é útil para documentar um problema conhecido, e é péssimo se não for essa a intenção — daí o aviso, e não o bloqueio.

Onde fica no menu

Laboratório de Integração, ao lado de Planos de Teste e dos Simuladores. O agrupamento é uma afirmação sobre o trabalho: Config. de Integração é onde a integração se cadastra, o Laboratório é onde ela se exercita. O simulador falsifica a origem, o Banco de Testes dispara o estímulo — testar uma Coleta OPC UA é usar os dois juntos.