Skip to content

LeooMilan/robotframework-api-testing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API Testing com Robot Framework - ServeRest

Este projeto contém testes automatizados de API usando Robot Framework para testar a API ServeRest.

📋 Sobre o Projeto

Suite completa de testes de API para gerenciamento de usuários na plataforma ServeRest, incluindo:

  • ✅ Criação de usuários
  • ✅ Listagem de usuários
  • ✅ Busca por ID
  • ✅ Atualização de dados
  • ✅ Exclusão de usuários
  • ✅ Autenticação/Login
  • ✅ Consulta de dados específicos
  • ✅ Cenários negativos (email duplicado, credenciais inválidas)

🚀 Tecnologias Utilizadas

  • Robot Framework - Framework de automação
  • RequestsLibrary - Biblioteca para requisições HTTP
  • ServeRest API - API de testes (https://serverest.dev)
  • Python - Linguagem base do Robot Framework

📁 Estrutura do Projeto

ApiTesting/
├── tests/
│   └── api_testing_usuarios.robot    # Casos de teste
├── resources/
│   └── api_testing-usuarios.resource # Keywords e configurações
├── results/                          # Relatórios de execução
├── README.md
└── requirements.txt

🔧 Pré-requisitos

  • Python 3.7+
  • Robot Framework
  • RequestsLibrary
  • Collections Library
  • DateTime Library

📦 Instalação

  1. Clone o repositório:
git clone https://github.com/LeooMilan/robotframework-api-testing.git
cd robotframework-api-testing
  1. Instale as dependências:
pip install -r requirements.txt

▶️ Executando os Testes

Para executar todos os testes:

robot -d ./results tests/api_testing_usuarios.robot

Para executar testes específicos por tag:

# Apenas testes de CRUD
robot -d ./results -i crud tests/api_testing_usuarios.robot

# Apenas testes de login
robot -d ./results -i login tests/api_testing_usuarios.robot

# Apenas cenários negativos
robot -d ./results -i negative tests/api_testing_usuarios.robot

📊 Relatórios

Após a execução, os relatórios são gerados na pasta results/:

  • report.html - Relatório resumido
  • log.html - Log detalhado da execução
  • output.xml - Dados brutos dos testes

🧪 Casos de Teste Implementados

✅ Testes Positivos

  1. Teste Criar Usuário - Criação de novo usuário
  2. Teste Listar Usuários - Listagem de todos os usuários
  3. Teste Buscar Usuário Por ID - Busca específica por ID
  4. Teste Atualizar Usuário - Atualização de dados
  5. Teste Deletar Usuário - Exclusão de usuário
  6. Teste Login com Sucesso - Autenticação válida
  7. Teste Consultar Dados do Usuario Criado - Validação de dados

⚠️ Testes Negativos

  1. Teste Cadastrar Usuario Ja Existente - Email duplicado
  2. Teste Login com Credenciais Invalidas - Autenticação inválida

🎯 Funcionalidades Principais

🔐 Autenticação

  • Login com email e senha
  • Validação de token JWT
  • Tratamento de credenciais inválidas

👥 Gerenciamento de Usuários

  • CRUD completo de usuários
  • Validação de campos obrigatórios
  • Geração de emails únicos com timestamp
  • Verificação de estruturas JSON

📝 Validações Implementadas

  • Status codes (200, 201, 400, 401)
  • Estrutura de resposta JSON
  • Campos obrigatórios e opcionais
  • Mensagens de erro específicas

🛠️ Keywords Principais

  • Criar Sessão na ServeRest - Configuração de sessão HTTP
  • Criar Usuário Via API - Cadastro de usuários
  • Realizar Login na ServeRest - Autenticação
  • Consultar Dados de um Novo Usuario - Validação de dados
  • Verificar Status Code - Validação de códigos de resposta

📈 Cobertura de Testes

  • CRUD Completo - Create, Read, Update, Delete
  • Autenticação - Login e validação de token
  • Cenários Positivos - Fluxos de sucesso
  • Cenários Negativos - Validação de erros
  • Validação JSON - Estrutura e conteúdo das respostas

👨‍💻 Autor

Leonardo Milan

📄 Licença

Este projeto está sob a licença MIT - veja o arquivo LICENSE para detalhes.

🤝 Contribuindo

  1. Faça um Fork do projeto
  2. Crie uma Branch para sua feature (git checkout -b feature/AmazingFeature)
  3. Commit suas mudanças (git commit -m 'Add some AmazingFeature')
  4. Push para a Branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

📞 Suporte

Se você tiver alguma dúvida ou sugestão, sinta-se à vontade para abrir uma issue ou entrar em contato!

About

Testes automatizados de API com Robot Framework para ServeRest

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published