Skip to content

ugomes/java-selenium-saucedemo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Framework de Automação de Testes para o SauceDemo

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.

Funcionalidades

  • 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.

Estrutura do Projeto

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

Pré-requisitos

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.

Como Começar

Siga estas instruções para colocar o projeto em funcionamento na sua máquina local.

Instalação

  1. Clone o repositório:

    git clone <url-do-repositorio>
  2. Navegue até o diretório do projeto:

    cd SauceDemo
  3. Instale as dependências: Execute o seguinte comando Maven para baixar todas as dependências necessárias.

    mvn clean install

Executando os Testes

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

Visualizando o Relatório de Testes

Após a conclusão da execução dos testes, você pode gerar e visualizar o relatório do Allure.

  1. Gere o relatório: Use o plugin Allure do Maven para servir o relatório.

    mvn allure:serve
  2. Este comando irá gerar o relatório e abri-lo no seu navegador padrão.

Integração Contínua

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:

  1. Faz o checkout do código.
  2. Configura o JDK.
  3. Executa os testes no Chrome e no Firefox em paralelo.
  4. Gera um relatório Allure e o carrega como um artefato da build.

Tecnologias Utilizadas

  • 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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published