Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

O que é?

Automação de testes HTTP REST envolve o uso do protocolo HTTP para interagir com servidores ou APIs (Interfaces de Programação de Aplicações) de maneira automatizada. Nesse contexto, o TestFlow atua como um cliente, enviando requisições para sistemas externos, como o RM, para realizar operações específicas. Essas operações podem incluir a consulta, criação, atualização ou exclusão de dados em sistemas externos, sem a necessidade de intervenção manual.

Para que serve?

Serve para realizar operações automatizadas, como a inclusão de novas entidades (como moedas) no sistema RM via chamadas de API. Isso é especialmente útil para integração de sistemas, automação de tarefas repetitivas e manutenção de registros atualizados em bases de dados corporativos.

Links Úteis

  1. O que é um Protocolo Http;
  2. Documentação Postman.

Exemplo de Uso 

Deck of Cards
idComo cadastrar
Card
labelComo Cadastrar
Expandir
title1. Navegação para o cadastro
  1. Navegue no menu do TestFlow e clique em: Atividades → ServiçosHttp
  2. Na tabela que será mostrada, clique no botão verde em destaque para criar Atividade de Http.

Image Added

Expandir
title2. Link para Definir cabeçalho (Nome e nível de acesso)

Clique aqui para obter as informações do cabeçalho

Expandir
title3. Preenchimento dos Campos
Expandir
titleVersão

Especifica a versão da atividade em questão. O objetivo de versionar uma atividade é para quando necessitamos ter mais de uma atividade em versões diferentes. Isso irá nos auxiliar a ter um histórico de atualizações e assegurar que as mudanças feitas sejam rastreáveis e reversíveis, se necessário.

Informações

Se for necessário utilizar mais de uma versão do RM no seu ambiente, é recomendado que a versão da atividade seja compatível com o sistema RM em uso. Caso contrário, pode-se optar por uma versão padrão de sua preferência.

Section
Column

Exemplo utilizando a versão do RM

Image Added

Column

Exemplo utilizando a versão padrão

Image Added



Expandir
titleDescrição de Atividade

Fornece uma descrição detalhada da atividade, explicando seu propósito e operações, facilitando a compreensão e manutenção futura.

Image Added

Expandir
titleCondição de Erro

Logar. o Erro: Quando uma atividade HTTP encontra um erro durante a execução, essa opção registra o erro nos logs do sistema. Isso permite que os administradores ou desenvolvedores revisem os detalhes do erro mais tarde, incluindo a mensagem de erro, a causa e outros detalhes relevantes da requisição falhada.

      • Exemplo: Se uma requisição HTTP falhar com um erro 404, o TestFlow deverá registrar essas informações nos logs para análise posterior. A execução do processo não será finalizada

Gerar Erro de Execução: Esta opção interrompe a execução da atividade e retorna um erro, que pode fazer com que todo o fluxo de trabalho ou processo seja interrompido. Um erro de execução indica que a operação não pode continuar devido a uma falha crítica.

      • Exemplo:  Se uma requisição HTTP falhar com um erro 404, o TestFlow deverá registrar essas informações nos logs para análise posterior e a execução do processo será finalizada.  

Gerar Alerta e Continuar: Quando ocorre um erro, em vez de interromper a execução, esta opção gera um alerta (por exemplo, uma notificação ao administrador) mas permite que o processo continue. Isso é útil em situações onde o erro não é crítico e o processo pode prosseguir sem causar maiores problemas.

      • Exemplo: Se uma requisição HTTP falhar com um erro 404,, o TestFlow deverá registrar um alerta sobre a execução da atividade e continuar processando outras operações relacionadas sem interrupção.Image Added
Expandir
titleRequisições
Expandir
titleInterpretando os Ícones

Adicionar Requisição Image Added

Clique neste ícone para adicionar uma requisição Http.

Image Added

Deletar todas as Requisições Image Added

Clique nesse ícone para deletar todas as requisições Http presentes na atividade.

Image Added

Informações

Cada requisição possui este ícone, permitindo que você delete aquela requisição específica.

Expandir
titlePreenchimento dos campos
Expandir
titleAutorização

Autorização: É responsável pela autenticação da sua requisição. Você pode escolher entre o tipo Basic ou optar por não utilizar autenticação.

Image Added

Expandir
titleHeaders

Headers: São pares de chave-valor enviados com a requisição HTTP para fornecer informações adicionais sobre a requisição ou sobre o cliente que está enviando a requisição.

Image Added

Expandir
titleBody

 É a parte da requisição HTTP onde os dados são enviados para o servidor, especialmente em métodos como POST, PUT, ou PATCH. Esses dados podem estar nos seguintes formatos:

  • JSON
  • XML
  • Text/Plain

Para utilizá-lo, selecione um dos tipos de media types listados acima e adicione o conteúdo ao corpo da requisição:

Image Added

Expandir
titleQueries

São parâmetros de consulta que são adicionados ao final da URL na requisição HTTP. Eles permitem enviar informações adicionais para o servidor, sem modificar o conteúdo principal do body.

  •  No TestFlow, o campo Chave e Valor nas Queries é utilizado para adicionar parâmetros de consulta à URL da requisição HTTP. Esses parâmetros são usados para passar informações adicionais ao servidor, permitindo que você filtre, refine ou modifique os resultados retornados pela API.

Exemplo:

Image Added

Expandir
titleCookies

Cookies são pequenos pedaços de dados que o servidor armazena no navegador do cliente. Eles são enviados em cada requisição subsequente ao mesmo servidor e são utilizados para manter sessões, lembrar preferências do usuário, ou rastrear informações de autenticação.

No TestFlow, o campo Chave e Valor nos Cookies é utilizado para configurar dados que serão enviados junto com a requisição HTTP ao servidor. Os cookies são pequenas informações armazenadas pelo navegador ou cliente que podem ser enviadas automaticamente com cada requisição subsequente ao mesmo servidor, permitindo que o servidor mantenha o estado entre requisições.

Image Added

Expandir
titleTeste a Requisição

É  uma funcionalidade no TestFlow que permite executar uma simulação da requisição HTTP que você configurou para verificar se está funcionando corretamente antes de integrá-la a um fluxo de trabalho maior.

Para que a atividade seja realizada é obrigatório que adicione o seu servidor. 

Aviso

O Agent deve estar em execução no servidor para que possa funcionar.

Image Added

Após todos os campos obrigatórios preenchidos clique no botão em destaque para executar o teste de requisição.Image Added

Card
labelVariáveis de ambiente

As variáveis dos ambientes no Http são utilizadas para ajustar as configurações das requisições SOAP conforme os diferentes ambientes de execução (desenvolvimento, teste, produção), facilitando a adaptação e reutilização dos scripts sem a necessidade de alterações manuais no código para cada ambiente.

Clique aqui para obter as informações das Variáveis de ambiente do HTTP.

Card
labelExemplo prático

Criação de chamadas Http para Cadastros RM. 

Expandir
titleNavegação pelo Swagger do RM.
  1. Configure os requisitos para esse tipo de atividade. Clique aqui para mais informações.
  2. Carregue o Host do RM como Administrador.
  3. No nosso exemplo, vamos utilizar o cadastro de Moedas no sistema RM.

    Image Added
  4. Para isso, deve-se consultar o swagger das API´S do Host. Isso pode ser feito inserindo a URL a seguir em seu navegador http://localhost:8051/api/swagger/ui/index#!/ e se essa página carregar, seu Host está corretamente configurado para o uso.Image Added
  5. Na página do swagger procure pelo item Currency. Clique sobre ele para que seja expandido.
  6. Note que existem vários métodos disponíveis. Iremos utilizar o POST, método que fará a inclusão da moeda.Image Added
  7. Selecione o método POST para que ele seja expandido. Role a tela até chegar na área PARAMETERS no campo em branco de nome RECORD. Vá ao campo imediatamente a direita que tem o nome BODY e clique sobre o schema para que ele seja transferido para o campo RECORD.
  8. Preencha todos os campos do cadastro ou somente os obrigatórios conforme imagem abaixo e clique no botão TRY IT OUT.Image Added
  9. Se tudo correr bem você receberá a resposta abaixo da imagem a seguir.Image Added
Expandir
titleConfiguração no TestFlow.
  1. Na tela Método - URL informe o Verbo, a URL (conseguida na tela do swagger no navegador), Timeout, o status esperado no teste e uma descrição para a chamada como na imagem a seguir.Image Added
  2. Os itens: Autorização, Headers, Body, Queries e Cookies só devem ser preenchidos se sua chamada exigir. No caso do nosso exemplo a única exigida é a Autorização na qual devem ser informados os dados do usuário para acesso ao RM.Image Added
  3. Na guia BODY, escolha o Media Type application/json cole o o json criado na página do swagger.
  4. Navegue até a aba TESTE A REQUISIÇÃO. Selecione um servidor para execução. Lembrando que neste servidor o Agent do TestFlow deve estar em execução como Administrador. Clique aqui para mais informações sobre o agent.
  5. Clique no botão play e aguarde o resultado. Devem ser mostrados os dados que foram incluídos. Este é sinal de que sua requisição está correta e pronta para ser inserida em um Projeto ou Agendamento.Image Added

...

Saiba mais

Dica

Entender como manipular headers HTTP é essencial, especialmente quando se trata de autenticação.

Dica

A atividade HTTP no TestFlow fornece logs detalhados de cada requisição realizada. Aprender a monitorar esses logs, interpretar mensagens de erro e revisar respostas de APIs é crucial para manter a integridade e o desempenho dos seus processos automatizados.

Dica

Antes de implementar uma atividade HTTP em um processo de produção, é fundamental testá-la. O TestFlow oferece opções para testar requisições diretamente na interface, permitindo verificar se os dados enviados e recebidos estão corretos e se o comportamento esperado foi alcançado. Testar suas atividades ajuda a evitar problemas quando o processo estiver em execução.

FAQ

Informações

P: Posso usar variáveis de ambiente na Atividade?

R: Sim, você pode usar variáveis dinâmicas no TestFlow para preencher automaticamente partes da URL, Headers, Body, e outros campos com dados gerados ou capturados por outras atividades no fluxo.

P: Quais são os erros comuns e como resolvê-los?

  • Erro 400 (Bad Request): Verifique se todos os campos obrigatórios estão preenchidos corretamente no Body da requisição.
  • Erro 401 (Unauthorized): Confirme se as credenciais de autenticação são válidas e foram incluídas corretamente nos Headers.
  • Erro 404 (Not Found): Certifique-se de que a URL da API está correta e o recurso existe.
  • Erro 500 (Internal Server Error): Problema diretamente relacionado ao servidor da Api

Utilize as Atividades Soap para testar suas API´s.

Interface de Programação de Aplicação cuja sigla API provém do Inglês Application Programming Interface, é um conjunto de rotinas e padrões estabelecidos por um software para a utilização das suas funcionalidades por aplicativos que não pretendem envolver-se em detalhes da do software, mas apenas usar seus serviços. No RM são exemplos: Consulta, inserções, deleções e alterações em alguns de seus cadastros ou até mesmo extração de informações.

Para que consiga utilizar esta atividade é necessário que as API´s tenham sido previamente implementadas no RM. Você pode consultar as API´s já implementadas no RM digitando no seu navegador o seguinte endereço: http://localhost:8051/api/swagger/ui/index#/ . Para que funcione o host do RM da versão desejada deve estar ativo e devem ser previamente inseridas as tags abaixo em seu arquivo de configuração.

<add key="WebServiceCulture" value="Invariant" /> 
<add key="DefaultDB" value="CorporeRM" />
<add key="HTTPPORT" value="8051" />

Através do swagger você poderá inclusive gerar o json do body da chamada.

Assim como toda Atividade no TestFlow 30 o Http também deve em seu header estar associado a um ou mais grupos e ter pelo menos um como administrador.

  1. Logar o erro: O erro capturado na execução será apresentado no log do projeto e não impedirá a execução do restante do teste. O resultado final do seu teste será "Executado com erro".

  2. Gerar erro de execução: O erro capturado na execução será apresentado no log do projeto e o restante do teste não será executado. O resultado final do seu teste será "Executado com erro".

  3. Gerar alerta e continuar: O erro capturado na execução será apresentado no log do projeto, o restante do teste será executado normalmente. O resultado final do seu teste será "Executado com alertas".

Para incluir uma requisição clique no sinal mais (+) e preencha corretamente os parâmetros da sua chamada

  1. Verbo HTTP: Informe a operação (POST, GET, PUT, PATCH, DELETE, HEAD)

  2. Timeout (segundos): Informe o tempo de espera da requisição.

  3. Status e retorno http esperado: Escolha na lista o código de retorno que a chamada deverá retornar para que seu teste tenha sucesso.

AUTORIZAÇÃO : Esta informação geralmente é obrigatório no RM. Então escolha o tipo Base e informe o usuário mestre e a senha totvs.

Os campos HEADERS, BODY, QUERIES E COOKIES não são obrigatórios e devem ser preenchidos de acordo com a necessidade da API.

Sua requisição pode ser testada clicando no botão TESTE A REQUISIÇÃO sem que a mesma tenha de ser incluída em um projeto de teste. Você também testá-la utilizando o Gerenciador de Execuções.

...