Este repositório contém um framework de automação de testes para o site SauceDemo. Ele foi construído com Java, Selenium e Maven, e demonstra as melhores práticas para testes de UI web, incluindo execução paralela e relatórios detalhados.
- Testes Cross-Browser: Suporta a execução de testes no Google Chrome e no Mozilla Firefox.
- Execução Paralela: Configurado para executar testes em paralelo para reduzir o tempo de execução.
- Relatórios Detalhados: Integração com o Allure Framework para gerar relatórios de teste abrangentes e de fácil leitura.
- Gerenciamento de Dependências: Utiliza o Apache Maven para gerenciar as dependências do projeto e o ciclo de vida da construção.
- Integração Contínua: Inclui um pipeline de CI/CD usando GitHub Actions para automatizar os testes a cada push e pull request.
SauceDemo/
├── .github/
│ └── workflows/
│ └── ci.yml
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ ├── org/
│ │ │ │ └── example/
│ │ │ │ └── Main.java
│ │ │ └── pages/
│ │ │ ├── LoginPage.java
│ │ │ ├── ProductsPage.java
│ │ │ ├── YourCartPage.java
│ │ │ ├── YourInformationPage.java
│ │ │ ├── CheckOutCompletePage.java
│ │ │ └── CheckoutOutOverviewPage.java
│ │ └── resources/ (vazio)
│ └── test/
│ ├── java/
│ │ ├── org/
│ │ │ └── example/
│ │ │ └── core/
│ │ │ ├── BaseTest.java
│ │ │ └── DriverManager.java
│ │ ├── data/
│ │ │ ├── User.java
│ │ │ ├── Product.java
│ │ │ ├── TestData.java
│ │ │ └── CheckoutInfo.java
│ │ ├── tests/
│ │ │ ├── TestComprarMochila.java
│ │ │ └── TestRemoverProdutoCarrinho.java
│ │ └── utils/
│ │ └── JsonUtils.java
│ └── resources/ (vazio)
├── pom.xml
├── README.md
└── .gitignore
Antes de começar, certifique-se de que você tem o seguinte instalado em seu sistema:
- Java Development Kit (JDK): Versão 21 ou superior.
- Apache Maven: Para construir o projeto e gerenciar as dependências.
- Navegadores Web: Google Chrome e/ou Mozilla Firefox.
Siga estas instruções para colocar o projeto em funcionamento na sua máquina local.
-
Clone o repositório:
git clone <url-do-repositorio>
-
Navegue até o diretório do projeto:
cd SauceDemo -
Instale as dependências: Execute o seguinte comando Maven para baixar todas as dependências necessárias.
mvn clean install
O framework está configurado para executar testes usando perfis (profiles) do Maven. Você pode executar os testes em um navegador específico ou usar a configuração padrão.
-
Executar testes no navegador padrão (Firefox):
mvn test -
Executar testes especificamente no Chrome:
mvn test -Pchrome -
Executar testes especificamente no Firefox:
mvn test -Pfirefox
Após a conclusão da execução dos testes, você pode gerar e visualizar o relatório do Allure.
-
Gere o relatório: Use o plugin Allure do Maven para servir o relatório.
mvn allure:serve
-
Este comando irá gerar o relatório e abri-lo no seu navegador padrão.
Este projeto está configurado com um pipeline de Integração Contínua (CI) usando GitHub Actions. O fluxo de trabalho está definido no arquivo .github/workflows/ci.yml.
O pipeline é acionado automaticamente a cada push e pull_request para a branch main. Ele executa os seguintes passos:
- Faz o checkout do código.
- Configura o JDK.
- Executa os testes no Chrome e no Firefox em paralelo.
- Gera um relatório Allure e o carrega como um artefato da build.
- Java: Linguagem de programação principal.
- Selenium WebDriver: Para automação de navegadores.
- JUnit 5: Como framework de testes.
- Apache Maven: Para automação da construção e gerenciamento de dependências.
- Allure Framework: Para relatórios de testes.
- GitHub Actions: Para Integração Contínua.