Testes de APIs REST com Python e Pytest, Parte 3

Neste artigo você vai ver:

Nível: básico

Conteúdo:

  • Configuração da suíte de testes
  • Criação de scripts para recuperar e inserir dados em uma API
  • Desenvolver testes e relatórios a partir dos scripts criados

O objetivo deste último artigo é te guiar na criação de relatórios do Pytest. Para quem está começando no desenvolvimento de testes de APIs, recomendo que veja os artigos anteriores (partes 1 e 2), mas se você já tem algum projeto em andamento e quer apenas criar reports e executar a suíte de testes inteira, pode seguir sem problemas.

Do que você irá precisar:

  • Python 3+
  • Pip (gerenciador de pacotes do Python)
  • Algum editor de texto ou IDE (utilizo VSCODE por praticidade e gosto pessoal)

Relembrando nossos scripts de teste

Anteriormente, criamos um arquivo de teste para cada verbo visto (get, post, put e delete). Veja como encerramos o artigo passado:

test_get.py

python

test_post.py

test_put.py

test_delete.py

Configuração da suíte de testes

Tenha em mente algumas regras básicas de descobrimento de testes que o Pytest leva em consideração:

  • Se nenhum argumento for informado, a descoberta de testes começa do testpaths ou do diretório atual (configuração desse projeto).
  • A busca acontece recursivamente entre diretórios por padrão.
  • Nesses diretórios, a busca leva em conta arquivos que tenham a configuração test_*.py ou *_test.py (por boa prática, criamos um diretório chamado tests/).
  • Métodos que começam com test_
  • Classes que começam com Test.

Execução

Mão na massa

Para execução de todos os testes, execute o comando pytest no diretório raiz do projeto:

Nesse report padrão, conseguimos ver através do terminal as informações:

  • Quantidade de testes executados
  • Tempo total da execução
  • OS e versão do Python

Adicione o parâmetro –durations=0 para exibir a duração de todos os testes:

Adicione o parâmetro –durations=n (onde n é um número inteiro entre 1 e a quantidade de testes) para exibir a duração de todos os n testes mais lentos:

Instale o pacote de report em formato html com o comando pip install pytest-html e adicione o parâmetro –html=report.html na execução de sua suíte: 

Instale o pacote de report em formato json com o comando pip install pytest-json-report –upgrade e adicione o parâmetro –json-report na execução de sua suíte: 

Chegamos ao fim dessa série.

Espero que esse tutorial seja útil pra vc! Ainda ficou com alguma dúvida no assunto? Conta pra gente nos comentários!

5e5eb9a15243441138e27637_marlon-de-alencar
Analista de Testes
Engenheiro de computação, mestrando em Ciências de Computação e jogador de Dota nas horas vagas.

Este site utiliza cookies para proporcionar uma experiência de navegação melhor. Consulte nossa Política de Privacidade.