publicado em 2 de agosto de 2016.
Qual é a automação de testes?
A automação de teste é usar um programa para controlar a execução de testes e verificar se os resultados obtidos são o que estávamos esperando. Para explicar como obter a automação de teste sobre uma API, três programas serão necessários: carteiro, Newman e Jenkins.
postman
O primeiro programa que vamos usar para obter testes de automação O carteiro que pode ser definido da seguinte forma:
“O objetivo principal do carteiro está ajudando a construir APIs rapidamente permitindo a criação ágil de solicitações e fluxos de trabalho por meio de coleções”
ambiente h2 h2
A primeira coisa que temos que fazer antes de começar a criar testes é preparar um ambiente para o servidor no qual os testes serão executados. Para criar um ambiente, vamos para gerenciar ambientes → Adicionar. Então podemos começar Adicionando pares de valor chave correspondendo a variáveis que usaremos em várias ocasiões em solicitações.
Como um exemplo, escolhi a próxima API para explicar como funciona: Swapi.co/api, então estamos vai salvá-lo em uma variável para a qual vamos chamar host:
Esta API não precisa do usuário autenticar, mas, se necessário, poderemos salvar o usuário e a senha no ambiente.
coleção
postman permite que você crie coleções para armazenar solicitações, então a primeira coisa que precisamos é criar uma coleção, fornecendo seu nome (obrigatório) e uma descrição.
Então podemos criar uma solicitação, que terá mais ou menos o seguinte aspecto:
Neste exemplo, tentamos obter uma lista de espaçonaves, de modo que na captura de tela você pode ver:
- nome da solicitação.
- método: pode ser get, post, colocar, excluir …
- api: o endereço completo seria Swapi.co/api/constars, mas como mantivemos Swapi.co/api na variável de ambiente de host nós apenas temos que escrever {{host} } Para usá-lo.
- ambiente.
A segunda parte da criação de uma solicitação é a seção de testes, projetada para criar declarações que confirmam que as informações retornadas O servidor é aquele que estávamos aguardando e você também pode atribuir valores a novas variáveis de ambiente ou globais para usar mais tarde. Por exemplo:
Neste teste, temos uma afirmação que verifica que o código de estado é um 200 e também, um loop para armazenar em uma variável de informações sobre um determinado navio de todos os retornos. No lado direito, temos uma série de peças de código que ajudam o usuário na criação de testes.
A próxima etapa seria salvar a solicitação pressionando o botão “Salvar” e escolher onde salvá-lo. Temos a opção de salvá-lo diretamente na coleta:
ou em um pasta. Armazenar-los em pastas tem a vantagem de ser capaz de isolar sua execução do restante das solicitações.
Execução de testes
para executar a solicitação criada primeiro, você terá que salvá-lo (importante!) E, em seguida, enviá-lo clicando em “Enviar”. A partir da resposta, estamos interessados em duas partes: corpo, onde vemos o JSON retornado pelo servidor com todas as informações e testes, onde o resultado dos assertos será visto.
neste caso, um dos 2 testes falhou porque foi especificado nos testes que deveram receber mais de 100 navios e se Observamos as informações recebidas lá é menor.
Uma vez que temos todas as solicitações que desejamos junto com seus testes podem ser executadas em conjunto. Para que precisamos abrir o “Runner Collection”:
para executar o Testes, devemos seguir as seguintes etapas:
- Escolha entre executar a coleção inteira ou apenas uma pasta.
- Escolha o ambiente onde nós armazenamos as variáveis.
- Número de vezes Queremos executar os testes.
- Teste de início
Uma vez que a execução é termina, você pode ver os resultados no lado direito da tela. Acima de tudo, um resumo aparecerá no qual você pode ver quantos testes falharam, quantos E quanto tempo demorou o exemplo. Abaixo da mesma aparência, mas para cada solicitação feita.
newman
carteiro tem uma versão de linha de comandos Chamado de Newman que tem muitos utilitários, mas só precisamos de um: permite a integração das coleções criadas no carteiro com um sistema de integração contínua, como Jenkins, que é um passo fundamental para obter a automação de teste.
Instalar Newman é muito fácil:
Antes de começar a executar o teste Primeiro, devemos exportar o ambiente do carteiro.
e coleção:
vai ficar um JSON do ambiente e outro da coleção em uma pasta, que temos que nos começar de um comando Console a governar Newman.
Agora, podemos escolher entre executar a coleta completa:
ou apenas uma pasta (adicionando o argumento -f):
A saída retorna quase o mesmo que o carteiro retornou: a execução de cada solicitação e Resumo Indicando quantos testes falhou e quantos não.
jenkins
a última etapa para concluir a automação de teste na API escolhida é instalar o Newman no mesmo servidor no qual Jenkins é e instalar alguns plugins:
- plugin do parser de log: para analisar a saída sintaticamente.
- configurações:
- descrição: análise de erros.
- Arquivo de regras de análise: Arquivo com as regras e com o seguinte conteúdo:
- Plugin de extensão de e-mail: para receber um e-mail se um teste falhar.
Uma vez que tenhamos os plugins instalados e configurados, criamos um novo trabalho (novo trabalho) com as seguintes informações:
Nome do projeto: Star Wars (por exemplo)
Build → Adicionar Etapa de Construção → Executar Shell e escrevemos o mesmo Ries de comandos Qui Escrevemos para Regra Newman em local:
pós-compilação Ações → Adicionar ação pós-compilação → Saída do console (log de construção) Analising
e em regras de análise de seleção Selecionamos “análise de erros” (descrição)
Ações pós-compilação → Adicionar ação pós-compilação → notificação de e-mail editável
e preencher Nas seguintes informações:
- lista de destinatários do projeto: Endereços de correio que você deve receber e-mail.
- Configurações avançadas → Adicionar acionador → script – após a construção
- Script de gatilho:
Salvar (salvar) e construir (construir agora ) …
O console de saída mostrará o mesmo que quando executamos Newman em locais, juntamente com algumas linhas que indicam que Jenkins fez suas verificações.
Eu executei a pasta “Starships” por caminho porque sei que um teste falhará e, assim, fará com que você envie um e-mail. O e-mail recebido será:
Nele podemos ver que o assunto indica que o assunto indica que algo não foi bom (algo deu errado …) e no corpo da mensagem que Jenkins executou o trabalho corretamente e um link para a saída de execução para ver os resultados.
Uma vez que estamos em O console de saída do trabalho que podemos acessar “saída do console analisado” para ver sublinhado as linhas em que os testes que falharam os testes aparecem.
Obtendo a automação de teste em qualquer API é tão fácil quanto se siga as etapas indicadas em Este post, só precisamos configurar três programas e não teremos que nos preocupar com mais nada. Jenkins será cobrado para nos enviar um e-mail se um teste falhar