Este projeto demonstra a criação e execução de testes automatizados para a API pública OpenWeatherMap, utilizando Postman, Newman e relatórios detalhados com htmlextra. O objetivo é validar diversos cenários, incluindo casos positivos, negativos e fluxos encadeados, garantindo a qualidade dos dados retornados pela API.
- Objetivo
- Funcionalidades do Projeto
- Requisitos
- Estrutura do Projeto
- Como Executar
- Detalhes dos Testes
- Relatório
- Contribuindo
Este projeto foi desenvolvido para:
- Demonstrar habilidades na criação de testes de APIs utilizando Postman.
- Automatizar a execução de testes com Newman.
- Validar a funcionalidade da API em diversos cenários.
- Gerar relatórios visuais e detalhados para análise.
- Testes Positivos:
- Validação do status da resposta (
200 OK). - Verificação de dados importantes como temperatura, umidade, pressão e vento.
- Validação do status da resposta (
- Testes Negativos:
- Validação de mensagens de erro para cidades inexistentes, chaves inválidas e parâmetros ausentes.
- Fluxos Encadeados:
- Captura e reutilização de IDs de cidades em múltiplas requisições.
- Relatórios Visuais:
- Geração de relatórios detalhados em formato HTML.
Certifique-se de que as seguintes ferramentas estão instaladas na sua máquina:
Para instalar o Newman e o relatório extra:
npm install -g newman newman-reporter-htmlextraA estrutura de pastas e arquivos do projeto é a seguinte:
.
├── collections/
│ ├── clima.postman_collection.json # Collection do Postman com os testes
│ ├── openWeatherMap.postman_environment.json # Arquivo de ambiente do Postman
│ ├── estadosbr1.json # Arquivo com lista de cidades/estados
├── reports/
│ ├── report.html # Relatório gerado pelo Newman
├── README.md # Documentação do projeto
git clone https://github.com/seu-usuario/openweathermap-tests.git
cd openweathermap-tests- Certifique-se de que as dependências necessárias estão instaladas.
- Execute o seguinte comando para rodar os testes:
newman run collections/clima.postman_collection.json \ -e collections/openWeatherMap.postman_environment.json \ -r htmlextra \ --reporter-htmlextra-export reports/openWeatherMap_report.html
-
Importar os Arquivos para o Postman
- Abra o Postman.
- Clique em Import e selecione os seguintes arquivos:
collections/clima.postman_collection.jsoncollections/openWeatherMap.postman_environment.jsoncollections/estadosbr1.json(como arquivo de dados para o Runner).
-
Configurar o Ambiente
- Certifique-se de que o ambiente
openWeatherMapestá selecionado no Postman.
- Certifique-se de que o ambiente
-
Abrir o Collection Runner
- No Postman, clique em Runner no canto superior direito.
- Selecione a collection clima.
-
Adicionar o Arquivo de Dados
- No Runner, clique em Data File e selecione o arquivo
estadosbr1.json.
- No Runner, clique em Data File e selecione o arquivo
-
Executar os Testes
- Ajuste o número de iterações, se necessário.
- Clique em Run para executar os testes.
- Verifique os resultados diretamente no Postman.
- Abra o relatório gerado:
start reports/openWeatherMap_report.html
- Buscar Clima Atual:
- Validação de temperatura, pressão, vento, umidade e descrição do clima.
- Verificação de que o ID da cidade é armazenado corretamente.
- Fluxos Encadeados:
- Utilização do ID de cidade para buscar previsões futuras.
- Erro por Cidade Inexistente:
- Validação de mensagem:
"city not found".
- Validação de mensagem:
- Erro por API Key Inválida:
- Validação de mensagem:
"Invalid API key".
- Validação de mensagem:
- Erro por Parâmetro Faltando:
- Validação de mensagem:
"Nothing to geocode".
- Validação de mensagem:
O relatório gerado com o htmlextra fornece:
- Resultados detalhados de cada requisição.
- Visualização de falhas, incluindo mensagens de erro.
- Tempos de resposta e dados capturados.
- Faça um fork do projeto.
- Crie sua branch para a feature:
git checkout -b minha-feature
- Faça commit das alterações:
git commit -m "Descrição da feature" - Envie suas alterações:
git push origin minha-feature
- Abra um Pull Request.