Skip to content

Commit 6861e46

Browse files
update readme and fixes
1 parent 2e14df5 commit 6861e46

File tree

2 files changed

+62
-14
lines changed

2 files changed

+62
-14
lines changed

README

Lines changed: 58 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,69 @@
1-
npx playwright test
2-
Runs the end-to-end tests.
1+
# Test Automation Facade Pattern
32

3+
Este projeto é uma suíte de testes automatizados utilizando [Playwright](https://playwright.dev/) para validar fluxos de autenticação e cadastro em uma aplicação web. O projeto adota o **Facade Pattern** para organizar e simplificar a interação com as páginas, tornando os testes mais legíveis, reutilizáveis e de fácil manutenção.
4+
5+
## Contexto
6+
7+
O objetivo deste repositório é demonstrar como estruturar testes automatizados de ponta a ponta (E2E) utilizando o padrão de projeto **Facade**. Esse padrão encapsula operações complexas de páginas em classes de fachada, expondo métodos de alto nível para os testes, sem que eles precisem conhecer detalhes de implementação dos elementos da interface.
8+
9+
## Sobre o Facade Pattern
10+
11+
O **Facade Pattern** (Padrão Fachada) é utilizado para fornecer uma interface simplificada para um conjunto de interfaces em um subsistema. No contexto deste projeto, cada fluxo de negócio (ex: autenticação, cadastro) possui uma fachada (`AuthFacade`, `RegisterFacade`) que abstrai as interações com os elementos da página, facilitando a escrita e manutenção dos testes.
12+
13+
**Exemplo:**
14+
```typescript
15+
const register = new RegisterFacade(page);
16+
await register.registerAs("[email protected]", "Nome", "senha", "senha");
17+
```
18+
19+
## Estrutura do Projeto
20+
21+
- `ui/pages/`: Page Objects com os elementos e ações de cada página.
22+
- `ui/facade/`: Facades que encapsulam fluxos completos de negócio.
23+
- `tests/`: Arquivos de teste automatizados.
24+
- `playwright.config.ts`: Configuração do Playwright (incluindo baseURL).
25+
26+
## Comandos Essenciais
27+
28+
- **Executar todos os testes:**
29+
```
30+
npx playwright test
31+
```
32+
33+
- **Executar testes em modo UI interativo:**
34+
```
435
npx playwright test --ui
5-
Starts the interactive UI mode.
36+
```
637

38+
- **Executar testes em um navegador específico:**
39+
```
740
npx playwright test --project=chromium
8-
Runs the tests only on Desktop Chrome.
41+
```
942

10-
npx playwright test example
11-
Runs the tests in a specific file.
43+
- **Executar um arquivo de teste específico:**
44+
```
45+
npx playwright test tests/login.test.ts
46+
```
1247

48+
- **Executar em modo debug:**
49+
```
1350
npx playwright test --debug
14-
Runs the tests in debug mode.
51+
```
1552

53+
- **Gerar testes automaticamente com Codegen:**
54+
```
1655
npx playwright codegen
17-
Auto generate tests with Codegen.
56+
```
57+
58+
## Requisitos
59+
60+
- Node.js instalado
61+
- Dependências instaladas com:
62+
```
63+
npm install
64+
```
1865

19-
We suggest that you begin by typing:
66+
## Observações
2067

21-
npx playwright test
68+
- O projeto utiliza `baseURL` configurado no `playwright.config.ts`, permitindo o uso de caminhos relativos nos testes.
69+
- Como a aplicação de exemplo não possui banco de dados persistente, os dados criados existem apenas durante a sessão.

playwright.config.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@ export default defineConfig({
4444
use: { ...devices['Desktop Firefox'] },
4545
},
4646

47-
{
48-
name: 'webkit',
49-
use: { ...devices['Desktop Safari'] },
50-
},
47+
// {
48+
// name: 'webkit',
49+
// use: { ...devices['Desktop Safari'] },
50+
// },
5151

5252
/* Test against mobile viewports. */
5353
// {

0 commit comments

Comments
 (0)