Skip to content

Commit 84ef56d

Browse files
committed
Add: arquivos da pasta testes/ui ao repositório
1 parent 7a157cb commit 84ef56d

33 files changed

+2566
-1
lines changed

testes/ui

Lines changed: 0 additions & 1 deletion
This file was deleted.

testes/ui/.env.example

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Environment Configuration
2+
NODE_ENV=qa
3+
4+
# Application URLs
5+
BASE_URL=https://qa-signa.sme.prefeitura.sp.gov.br
6+
LOGIN_URL=https://qa-signa.sme.prefeitura.sp.gov.br/login
7+
8+
# Test Credentials (Substitua pelos seus dados)
9+
USERNAME=SEU_RF_AQUI
10+
PASSWORD=SUA_SENHA_AQUI
11+
12+
# Cypress Configuration
13+
CYPRESS_VIDEO=true
14+
CYPRESS_SCREENSHOT=true
15+
CYPRESS_VIEWPORT_WIDTH=1920
16+
CYPRESS_VIEWPORT_HEIGHT=1080

testes/ui/.gitignore

Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
# Dependências
2+
node_modules/
3+
package-lock.json
4+
yarn.lock
5+
pnpm-lock.yaml
6+
.pnp
7+
.pnp.js
8+
9+
# Cypress - Arquivos gerados
10+
cypress/screenshots/
11+
cypress/videos/
12+
cypress/downloads/
13+
cypress/reports/
14+
cypress/logs/
15+
.cypress-cucumber-preprocessorrc
16+
.currents/
17+
18+
# Relatórios de teste
19+
allure-results/
20+
allure-report/
21+
.allure/
22+
test-results/
23+
mochawesome-report/
24+
cucumber-report.json
25+
cucumber-report.html
26+
cucumber-report.ndjson
27+
*.xml
28+
junit-*.xml
29+
coverage/
30+
.nyc_output/
31+
32+
# Logs
33+
*.log
34+
npm-debug.log*
35+
yarn-debug.log*
36+
yarn-error.log*
37+
lerna-debug.log*
38+
.pnpm-debug.log*
39+
40+
# Variáveis de ambiente e credenciais
41+
.env
42+
.env.local
43+
.env.development.local
44+
.env.test.local
45+
.env.production.local
46+
.env.*.local
47+
cypress.env.json
48+
cypress/fixtures/usuarios.json
49+
50+
.DS_Store
51+
.AppleDouble
52+
.LSOverride
53+
Icon
54+
._*
55+
.DocumentRevisions-V100
56+
.fseventsd
57+
.Spotlight-V100
58+
.TemporaryItems
59+
.Trashes
60+
.VolumeIcon.icns
61+
.com.apple.timemachine.donotpresent
62+
.AppleDB
63+
.AppleDesktop
64+
65+
Thumbs.db
66+
Thumbs.db:encryptable
67+
ehthumbs.db
68+
ehthumbs_vista.db
69+
*.stackdump
70+
[Dd]esktop.ini
71+
$RECYCLE.BIN/
72+
*.cab
73+
*.msi
74+
*.msix
75+
*.msm
76+
*.msp
77+
*.lnk
78+
79+
*~
80+
.fuse_hidden*
81+
.directory
82+
.Trash-*
83+
.nfs*
84+
85+
# Editores - VSCode
86+
.vscode/
87+
.vscode/settings.json
88+
.vscode/launch.json
89+
.vscode-test/
90+
*.code-workspace
91+
92+
# Editores - IntelliJ IDEA
93+
.idea/
94+
*.iml
95+
*.ipr
96+
*.iws
97+
out
98+
.idea_modules/
99+
100+
# Editores - Sublime
101+
*.sublime-project
102+
*.sublime-workspace
103+
104+
# Editores - Vim
105+
*.swp
106+
*.swo
107+
*.swn
108+
.*.sw[a-p]
109+
110+
# Editores - Emacs
111+
\#*\#
112+
.\#*
113+
.dir-locals.el
114+
115+
# Editores - Visual Studio
116+
.vs/
117+
118+
# Build e cache
119+
dist/
120+
build/
121+
*.tsbuildinfo
122+
.cache/
123+
.parcel-cache/
124+
.eslintcache
125+
.stylelintcache
126+
*.cache
127+
128+
# Arquivos temporários
129+
temp/
130+
tmp/
131+
*.tmp
132+
*.temp
133+
*.bak
134+
*.backup
135+
136+
# Credenciais e certificados
137+
*.pem
138+
*.key
139+
*.cert
140+
*.p12
141+
.secrets/
142+
secrets.json
143+
credentials.json
144+
145+
# Git auxiliar
146+
.gitattributes.local
147+
.git-credentials
148+
.history/
149+
.npm/
150+

testes/ui/CHANGELOG.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Changelog
2+
3+
Todas as mudanças notáveis neste projeto serão documentadas neste arquivo.
4+
5+
O formato é baseado em [Keep a Changelog](https://keepachangelog.com/pt-BR/1.0.0/),
6+
e este projeto adere ao [Semantic Versioning](https://semver.org/lang/pt-BR/).
7+
8+
## [1.0.0] - 2026-01-09
9+
10+
### Adicionado
11+
- Estrutura inicial do projeto de automação
12+
- Configuração do Cypress com Cucumber
13+
- Feature de Login
14+
- Login com sucesso usando RF
15+
- Validação de credenciais inválidas
16+
- Validação de campos obrigatórios
17+
- Visualizar/ocultar senha
18+
- Logout do sistema
19+
- Feature de Recuperação de Senha
20+
- Solicitar recuperação com RF válido
21+
- Validação de RF inválido
22+
- Limite de tentativas
23+
- Validação de formato
24+
- Feature de Alteração de Senha
25+
- Alterar senha com sucesso
26+
- Validação de senha atual incorreta
27+
- Validação de confirmação diferente
28+
- Indicador de força da senha
29+
- Validação de requisitos de segurança
30+
- Feature de Alteração de E-mail
31+
- Alterar e-mail com sucesso
32+
- Validação de confirmação diferente
33+
- Validação de formato de e-mail
34+
- Validação de domínio corporativo
35+
- E-mail de confirmação
36+
- Locators para todas as features
37+
- Step definitions compartilhados e específicos
38+
- Comandos customizados reutilizáveis
39+
- Configuração de ambiente (QA)
40+
- Documentação completa (README, CONTRIBUTING, GHERKIN_SYNTAX_CHECKLIST)
41+
- Configuração de relatórios (Allure, Mochawesome)
42+
43+
### Configurado
44+
- URL base: https://qa-signa.sme.prefeitura.sp.gov.br
45+
- Credenciais padrão: RF 7311559 / Senha Sgp1559
46+
- Viewport: 1920x1080
47+
- Timeout: 10s (comandos), 60s (page load)
48+
- Retry: 1 tentativa em modo headless
49+
50+
### Dependências
51+
- cypress: ^13.6.0
52+
- @badeball/cypress-cucumber-preprocessor: ^20.0.0
53+
- @bahmutov/cypress-esbuild-preprocessor: ^2.2.0
54+
- allure-cypress: ^2.54.0
55+
- cypress-mochawesome-reporter: ^3.8.0
56+
57+
[1.0.0]: https://github.com/seu-usuario/signa-automation/releases/tag/v1.0.0

testes/ui/CONTRIBUTING.md

Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
# Contribuindo para o Projeto
2+
3+
Obrigado por considerar contribuir para este projeto! Este documento fornece diretrizes para contribuição.
4+
5+
## Como Contribuir
6+
7+
### 1. Fork e Clone
8+
```bash
9+
git clone https://github.com/seu-usuario/signa-automation.git
10+
cd signa-automation
11+
```
12+
13+
### 2. Instale as Dependências
14+
```bash
15+
npm install
16+
```
17+
18+
### 3. Crie uma Branch
19+
```bash
20+
git checkout -b feature/nova-funcionalidade
21+
```
22+
23+
### 4. Faça suas Alterações
24+
- Siga os padrões de código existentes
25+
- Adicione testes para novas funcionalidades
26+
- Atualize a documentação se necessário
27+
28+
### 5. Execute os Testes
29+
```bash
30+
npm test
31+
```
32+
33+
### 6. Commit suas Alterações
34+
```bash
35+
git add .
36+
git commit -m "feat: adiciona nova funcionalidade"
37+
```
38+
39+
### 7. Push para o GitHub
40+
```bash
41+
git push origin feature/nova-funcionalidade
42+
```
43+
44+
### 8. Abra um Pull Request
45+
46+
## Padrões de Código
47+
48+
### Nomenclatura
49+
- **Arquivos**: snake_case (ex: `login_steps.js`)
50+
- **Variáveis**: camelCase (ex: `campoRfCpf`)
51+
- **Constantes**: UPPER_SNAKE_CASE (ex: `BASE_URL`)
52+
- **Funções**: camelCase (ex: `realizarLogin`)
53+
54+
### Estrutura de Arquivos
55+
```
56+
cypress/
57+
├── e2e/ # Features em Gherkin
58+
├── support/
59+
│ ├── commands_ui/ # Comandos customizados
60+
│ ├── locators/ # Seletores de elementos
61+
│ └── step_definitions/ # Implementação dos steps
62+
```
63+
64+
### Commits
65+
Use Conventional Commits:
66+
- `feat:` - Nova funcionalidade
67+
- `fix:` - Correção de bug
68+
- `docs:` - Documentação
69+
- `test:` - Testes
70+
- `refactor:` - Refatoração
71+
- `style:` - Formatação
72+
- `chore:` - Manutenção
73+
74+
## Adicionando Novos Testes
75+
76+
### 1. Crie a Feature
77+
```gherkin
78+
# cypress/e2e/ui/nova_funcionalidade.feature
79+
# language: pt
80+
81+
Funcionalidade: Nova Funcionalidade
82+
Cenário: Teste da nova funcionalidade
83+
Dado que o usuário está autenticado
84+
Quando o usuário acessa a funcionalidade
85+
Então deve visualizar a tela corretamente
86+
```
87+
88+
### 2. Crie os Locators
89+
```javascript
90+
// cypress/support/locators/nova_funcionalidade_locators.js
91+
export const novaFuncionalidadeLocators = {
92+
elemento: '[data-testid="elemento"]'
93+
};
94+
```
95+
96+
### 3. Crie os Steps
97+
```javascript
98+
// cypress/support/step_definitions/nova_funcionalidade_steps.js
99+
import { Given, When, Then } from '@badeball/cypress-cucumber-preprocessor';
100+
101+
Given('que o usuário está autenticado', () => {
102+
cy.loginPadrao();
103+
});
104+
```
105+
106+
### 4. Adicione Commands se Necessário
107+
```javascript
108+
// cypress/support/commands_ui/commands_nova_funcionalidade.js
109+
Cypress.Commands.add('novaAcao', () => {
110+
// Implementação
111+
});
112+
```
113+
114+
## Revisão de Código
115+
116+
Todos os Pull Requests serão revisados. Certifique-se de:
117+
- [ ] Testes estão passando
118+
- [ ] Código segue os padrões
119+
- [ ] Documentação está atualizada
120+
- [ ] Não há conflitos com a branch main
121+
122+
## Reportar Bugs
123+
124+
Use as Issues do GitHub para reportar bugs:
125+
1. Descreva o problema
126+
2. Passos para reproduzir
127+
3. Comportamento esperado
128+
4. Comportamento atual
129+
5. Screenshots se aplicável
130+
131+
## Sugestões de Melhorias
132+
133+
Sugestões são bem-vindas! Abra uma Issue com:
134+
- Descrição da melhoria
135+
- Justificativa
136+
- Exemplos de uso
137+
138+
## Dúvidas?
139+
140+
Se tiver dúvidas, abra uma Issue ou entre em contato com a equipe.
141+
142+
Obrigado por contribuir! 🎉

0 commit comments

Comments
 (0)