Automatizando testes de sua API com Postman

Danilo Santos
assert(QA)
Published in
5 min readDec 7, 2017

--

imagem retirada de: http://www.adeveloperdiary.com/java/webservice/rest/how-to-automate-rest-api-schema-validation-testing-using-postman/

Amigos(as) gostaria de compartilhar com vocês uma maneira rápida e fácil para automatizar sua API. Não irei entrar nos detalhes do para que serve cada método, mas vocês podem ler/saber mais em https://pt.slideshare.net/Danilojose2/apresentacap-qaninjaconf

  • GET: Utilizado para obter um recurso
  • POST: Utilizado para cadastrar uma informação
  • PUT : Utilizado para alterar um recurso
  • DELETE: Utilizado para deletar um recurso

Definindo Método e URI De chamada

A primeira coisa que precisamos fazer é especificar a URI que vamos enviar a chamada e em seguida especificar o método da chamada, no nosso caso GET. No nosso exemplo não há parâmetros informados via header, mas existem casos em que é necessário informar, mais uma vez aconselho leitura post aqui informado.

Escrevendo um teste

Após especificar a URI e informar o método podemos criar um test case para validar nosso retorno, neste exemplo simples iremos validar que nosso recurso retorna o status code 200 que significa que o recurso foi enviado com sucesso. Para isso basta escrever a seguinte linha de código tests[“Texto a ser exibido”’] = responseCode.code === 200; isso fará com que a resposta desta chamada possa ser validada, em caso de sucesso 200 nosso teste passou, mas em caso de qualquer outro status retornado nosso teste falhou.

Clicamos em Send e verificamos o resultado do nosso teste:

Tente alterar o valor do código esperado para qualquer outro valor diferente de 200 e verifique o resultado. Falhou não é mesmo?

Agora que você já viu como criar um teste para validar seu request vamos falar de automação, realizar várias chamadas para verificar o response um a um pode se tornar uma tarefa repetitiva e cansativa, dai a necessidade de automatizar seus testes. Primeiro precisamos criar um ambiente para execução dos testes, para isso clicamos em New >> Environment. Atribuimos um nome e em seguida clicamos em add para criação do mesmo, após estes passos podemos fechar a janela.

Uma collection nada mais é do que um local onde você irá agrupar todas as suas chamadas.Depois de criado o ambiente clique novamente em New >> Collection dê um nome e adicione uma descrição(Opcional) para sua collection e em seguida clique em criar. Feito isso você poderá importar um arquivo, importar uma pasta, importar de um link ou colar o Json Raw Text , para efeitos de teste iremos importar uma collection de um link(https://www.getpostman.com/collections/c4dd41bc0c91b3bc79b4) para podermos exemplificar.

Ao importar do link a collection eu já deixei alguns testes prontos que irei explicar em outro post, não se preocupe com isso por agora o importante é que tenhamos uma collection com várias requisições dentro para entendermos como funciona a automação das chamadas. Uma vez que já foram definidos os test cases dentro de cada request e todos os requests já estão prontos para serem enviados utilizaremos o Runner como forma de realizar todas as chamadas de uma só vez. Se você importou corretamente aparecerão 37 chamadas dentro da nossa request como no exemplo abaixo, selecione a collection importada e clique em “Runner”

Na nova janela iremos especificar a collection a ser executada(collection importada nos passos anteriores), iremos selecionar o Environment criado anteriormente, o n° de Iterations que define quantas vezes a coleção será executada e por fim clicar em RUN.

Ao final são exibidos os relatórios de cada execução, bem como os testes que passaram e/ou falharam. Você pode ainda reexecutar os testes, criar uma nova execução ou exportar seus resultados.

Executando a Collection via command prompt com o plugin Newman

Agora que você já aprendeu a como criar um teste e executar via Postman, vamos um pouco mais além e executá-lo através do plugin do newman se você pretende utilizar seus testes junto a alguma ferramenta de integração contínua. O newman tem funcionamento similar ao postman porém é executado via linha de comando, ou seja, no terminal você será capaz de rodar seus testes sobre o NodeJs.

A primeira coisa que precisa ser feita é exportar sua coleção como no exemplo abaixo, selecione a Collection v2 e em seguida clique em exportar, dê um nome bacana e curto para evitar digitar um nome muito grande(preciosismo rs) será gerado um arquivo Json com todos os itens da collection que selecionamos

Inicie o Node.Js command prompt e instale o newman através do comando: npm install -g newman, agora navegue até o local onde o arquivo foi salvo, você pode navegar pelos locais utilizando cd nomeLocal no meu caso exportei para o meu Desktop.

Hora da execução, para isso digite o comando newman run nome_collection Veja que são trazidos todos os resultados dos testes, o número de iterações utilizadas, n° de requests, scripts de test e asserções validadas.

Você pode ainda exportar seus resultados, para isso utilize o comando newman run teste -r html que irá gerar no mesmo local onde foi exportada a collection uma pasta chamada newman com o relatório gerado, abra a e analise os resultados dos seus testes.

Bom galera é isso, espero que tenham gostado deste post, qualquer dúvida ou sugestão podem enviar para o meu email: danilow86@yahoo.com.br vou deixar também o meu linkedin: https://www.linkedin.com/in/danilo-jos%C3%A9-093249a0/ e não percam o próximo post.

Links para download:

Postman: https://www.getpostman.com/

Node.js: https://nodejs.org/en/download/

Vlw Flws

--

--

Danilo Santos
assert(QA)

....Vous aurez des tribulations dans le monde; mais prenez courage, j'ai vaincu le monde. Jean 16:33