O sistema de controle de estoque do Instituto Joga Junto tem como objetivo tornar a experiência de colaboradores o mais intuitiva possível. Fazendo com que os produtos sejam catalogados em uma ordem que faça sentido e seja de simples navegação, tanto para cadastro de colaboradores quanto de produtos.
Este repositório conta com a suíte de testes automatizados para o Backoffice JogaJunto.
Os testes automatizados foram desenvolvidos utilizando Python
, Selenium Webdriver
e Behave
.
A utilização do Behave nos permite que os casos de testes estejam em Gherkin
Dividídos entre testes E2E e testes de API, a modelagem propõem o encapsulamento das funcionalidades em métodos e classes bem definidos. Por isso, se optou por utilizar o design patter Page Objects
para auxiliar no desenvolvimento e principalmente manutenção dos testes.
Foram desenvolvidos testes automatizados apenas para o happy path1 das funcionalidades mais críticas do sistema, dentro do fluxo de:
- Criação de Usuário
- Login
- Cadastro de Produto
Os testes de API seguem o mesmo fluxo de testar o happy path1, mas também contam com testes de contrato:
- Criação de Usuário
- Login
- Cadastro de Produto
- Visualização de todos os produtos cadastrados
Para complementar os testes automatizados, foi criada uma collection no Postman que cobre todos os fluxos possíveis da API, tanto positivos quanto negativos.
Abaixo, um passo-a-passo de como executar os testes localmente.
- Python 3.x (Eu utilizei a versão
3.11.2
enquanto desenvolvia esse projeto). - WebDriver do seu navegador (veja mais abaixo).
Para executar os testes você precisa instalar a versão do webdriver para o seu navegador.
- ChromeDriver for Google Chrome
- Geckodriver for Firefox.
ChromeDriver e geckodriver devem estar presentes no system path.
É recomendado a utilização de um ambiente virtual para a instalação de dependencias.
Dentro da pasta do backoffice-jogajunto execute python -m venv venv
para criar um ambiente virtual:
python -m venv venv
- Windows
venv\Scripts\activate
- Linux/MacOs
venv/bin/activate
Instale todos os requisitos:
pip install -r requirements.txt
As configurações como navegador e endpoints da aplicação podem ser configuradas dentro do arquivo behave.ini
Os navegadores suportados são, ambos também no modo headless
:
- Firefox
- Chrome
Lembrando que é necessário o webdriver
do navegador escolhido, como citado nos Pré-requisitos
Para executar os testes, basta utilizar o comando behave
behave
Você também pode executar um feature file
específico, ou uma pasta
behave features\API\login.feature
Se você quiser apoiar o projeto, deixe uma ⭐.
Desenvolvido pela Squad Aspirantes da Automação durante o módulo avançado do curso Bugou? QA TA ON do Instituto Joga Junto
Diogo Reis • George Neres • Isadora Silva • Julia Bragada • Rodrigo Molter
Made with ❤️ by Squad Aspirantes da Automação.