https://github.com/vulgolari/sauce-tests
Este repositório contém testes automatizados para o site Sauce Demo usando Cypress. O objetivo é cobrir cenários de teste para funcionalidades críticas, incluindo login, visualização de produtos, gerenciamento de carrinho e processos de checkout.
https://github.com/vulgolari/sauce-tests
cypress javascript pageobject
Last synced: over 1 year ago
JSON representation
Este repositório contém testes automatizados para o site Sauce Demo usando Cypress. O objetivo é cobrir cenários de teste para funcionalidades críticas, incluindo login, visualização de produtos, gerenciamento de carrinho e processos de checkout.
- Host: GitHub
- URL: https://github.com/vulgolari/sauce-tests
- Owner: vulgolari
- Created: 2024-08-04T21:13:51.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-04T22:45:40.000Z (almost 2 years ago)
- Last Synced: 2025-01-21T14:12:45.107Z (over 1 year ago)
- Topics: cypress, javascript, pageobject
- Language: JavaScript
- Homepage: https://www.saucedemo.com/
- Size: 8.79 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Sauce Tests
Este repositório contém testes automatizados para o site [Sauce Demo](https://www.saucedemo.com/) usando [Cypress](https://www.cypress.io/). O objetivo é cobrir cenários de teste para funcionalidades críticas, incluindo login, visualização de produtos, gerenciamento de carrinho e processos de checkout.
## Estrutura do Projeto
```
sauce-tests/
├── cypress/
│ ├── fixtures/
│ │ └── credentials.json
│ ├── integration/
│ │ ├── cartManagement.spec.js
│ │ ├── checkout.spec.js
│ │ ├── login.spec.js
│ │ └── productView.spec.js
│ ├── support/
│ │ ├── pageObjects/
│ │ │ ├── CartPage.js
│ │ │ ├── CheckoutPage.js
│ │ │ ├── LoginPage.js
│ │ │ └── ProductPage.js
│ │ ├── commands.js
│ │ └── index.js
├── node_modules/
├── cypress.config.js
├── package-lock.json
├── package.json
└── README.md
```
## Como Configurar
1. **Clone o Repositório:**
```sh
git clone git@github.com:vulgolari/sauce-tests.git
cd sauce-tests
```
2. **Instale as Dependências:**
```sh
npm install
```
3. **Abra o Cypress:**
```sh
npm run test
```
## Estrutura dos Testes
### **Fixtures**
- **credentials.json:** Contém credenciais para testes de login, incluindo usuários válidos e inválidos.
### **Integration**
- **cartManagement.spec.js:** Testes para adicionar e remover produtos do carrinho.
- **checkout.spec.js:** Testes para o processo de checkout, incluindo finalização e cancelamento de compras.
- **login.spec.js:** Testes de login com credenciais válidas e inválidas.
- **productView.spec.js:** Testes para a visualização de produtos após o login.
### **Support**
- **pageObjects:** Contém classes que representam as páginas do site, incluindo CartPage, CheckoutPage, LoginPage e ProductPage.
- **commands.js:** Comandos personalizados do Cypress.
- **index.js:** Arquivo de inicialização do Cypress.
## Comandos Customizados
Os comandos personalizados são definidos no arquivo `commands.js` e incluem:
- `cy.login(username, password)`: Faz o login com o nome de usuário e senha fornecidos.
- `cy.visit(path)`: Visita uma página específica.
## Como Executar os Testes
1. **Iniciar os Testes no Cypress:**
```sh
npm run test
```
2. **Executar Testes Especificamente:**
Você pode executar arquivos de teste específicos usando o Cypress GUI.
## Casos de Teste
### **Login**
- Testa o login com usuários válidos e inválidos, verificando redirecionamento e mensagens de erro.
### **Visualização de Produtos**
- Verifica se a lista de produtos é exibida corretamente após o login.
### **Gerenciamento de Carrinho**
- Adiciona produtos ao carrinho, remove produtos do carrinho e verifica o estado do carrinho.
### **Checkout**
- Testa o fluxo de finalização de compra e o cancelamento do checkout, incluindo verificação de sucesso da compra.
## Contribuição
Para contribuir com o projeto:
1. Faça um fork do repositório.
2. Crie uma nova branch (`git checkout -b feature/your-feature`).
3. Faça suas alterações e commit (`git commit -m 'Add some feature'`).
4. Faça o push para a branch (`git push origin feature/your-feature`).
5. Crie um Pull Request.
## Licença
Este projeto está licenciado sob os termos da licença MIT. Veja o arquivo [LICENSE](LICENSE) para mais detalhes.