Este projeto foi criado com o intuito de fornecer um sistema com Front-end, uma API Rest e um banco de dados de forma simples para que QAs possam praticar automação de testes.
O sistema alvo é o Mantis BugTracker e é utilizado o Docker para gestão do ambiente e banco de dados.
Também é possível utilizar Selenium Grid neste projeto.
Abaixo um passo a passo para a instalação.
Serão necessárias as seguinte configurações para iniciar o projeto:
Docker-compose: neste repositório é possível encontrar um arquivo chamado "docker-compose.yml", este arquivo contem um grupo de imagens do Mantis, seu banco de dados e o Selenium Grid com seus nós (Mozilla Firefox e Google Chrome).
Crie o diretório local "C:\mantis", baixe o arquivo docker-compose.yml e cole neste diretório criado.
- Instalar Docker Desktop e reiniciar a máquina
- Caso apresente o erro "WSL 2 installation is incomplete", baixe e instale o WSL2 Kernel e clique em Restart
- Abra o aplicativo Docker Desktop
- Deverá ser apresentado o tutorial, basta dar skip que você terá esta tela
-
Abra um terminal e acesse o diretório recém criado: "C:/mantis"
-
No diretório haverá o arquivo docker-compose.yml
-
Execute o comando>
docker-compose.exe up -d
-
Após o processamento se tudo correr bem, as imagens serão baixadas e novos contêineres criados:
- Para validar a criação e execução dos execute o comando
docker ps -a
e os contêineres estarão disponíveis e executando:
- No aplicativo do Docker Desktop apresentará os containeres ativos conforme imagem:
Faça o seu primeiro acesso ao Mantis pelo endereço http://127.0.0.1:8989
Após acessar será necessário configurar o banco de dados conforme tabela e valores abaixo:
Variável | Valor |
---|---|
Type of Database | MySQL Improved |
Hostname (for Database Server) | mantis_db_1 |
Username (for Database) | mantisbt |
Password (for Database) | mantisbt |
Database name (for Database) | bugtracker |
Admin Username (to create Database if required) | root |
Admin Password (to create Database if required) | root |
Após preencher, clicar em Login/Continue e aguardar o processamento.
O primeiro acesso deverá ser feito utilizando as credenciais administrator/root. Redefinir a senha para o valor administrator ou outro valor fácil de lembrar.
Para acessar ao banco de dados do Mantis (MariaDB) siga os passos abaixo:
-
Baixe e instale o software HeidiSQL
-
Ao abrir o Gerenciador de sessões, preencha com os valores abaixo:
- Abra a conexão e será possível verificar todas as tabelas e registros:
Uma vez com a aplicação sendo executada pelo Docker, é possível também realizar testes manuais ou automatizados de API Rest no Mantis.
Basta acessar a documentação oficial Mantis Bug Tracker REST API para visualizar cada endpoint, parâmetros, headers correspondentes.
É possível também importar todos os endpoints diretamente no Postman para testar ou automatizar esta API Rest. Basta clicar no botão indicado:
-
Acesse o sistema Mantis com o usuário administrador - http://127.0.0.1:8989
-
Acesse o menu com nome do usuário/Minha Conta
-
Clique na aba Tokens API
-
Preencha um novo nome para o token e clique em Criar Token API
- Copie o Token gerado e use-o como header em requisições nas suas automações (RestSharp, Postman, SuperTest, RestAssured e demais).
Para a instância local deverá ser usada a url de parâmetro localhost com a porta correspondente 8989. Exemplo de execução no Postman:
Para a execução remota dos testes automatizados, via selenum grid, serão utilizados os seguintes passos:
-
Configuração dos contêineres hub, node chrome e node mozilla
-
Verificação do console
-
Automação de testes e Selenium Grid
3.1 Configuração dos contêineres hub, node chrome e node mozilla
-
Abrir o prompt de comando
-
Validar que os contêineres estarão disponíveis executando o comando
docker ps -a
: -
selenium/node-firefox
-
selenium/node-chrome
-
selenium/hub
3.2 Verificação do console
Após o processamento, os containeres estarão disponíveis e em execução. Em vermelho os referentes ao Selenium:
Ao executar o comando no navegador http://127.0.0.1:4444/grid/console
também é possível verificar o console rodando corretamente com seus nós:
3.3 Automação de testes e Selenium Grid Basta fazer as devidas configurações de Remote WebDriver no seu projeto de testes automatizados que os testes poderão ser executados remotamente. Se necessário suba mais containeres para multiplicar os nós.