Central de Conteúdos

Testes de APIs REST com Python e Pytest, Parte 3

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!

Marlon de Alencar
Analista de Testes
Engenheiro de computação, mestrando em Ciências de Computação e jogador de Dota nas horas vagas.

This website uses cookies to ensure you get the best experience on our website. Learn more