Testes E2E com Playwright
Fluxos de ponta a ponta na UI (e opcionalmente contra a API), executados num browser real ou headless, com o Playwright.
Objetivo
Garantir caminhos críticos do utilizador: login, navegação principal, criação/consulta de entidades chave e regressões visuais ou de integração que testes unitários não cobrem.
Estrutura sugerida no repositório
- Pasta: por exemplo
e2e/ouatomus-core/e2e/na raiz do monorepo (definir uma única localização). - Ficheiros:
*.spec.tsagrupados por área (auth,producao,estoque, …). - Configuração:
playwright.config.tscombaseURLapontando para o Vite em desenvolvimento ou build servido localmente. - Dados: preferir API de seed, fixtures ou tenant de teste; evitar depender de dados manuais num ambiente partilhado sem documentação.
Fluxo de trabalho local
- Subir a API (e base de dados de teste, se aplicável).
- Subir o frontend (
npm run devoupreviewdo build). - Executar
npx playwright test(ou script npm equivalente).
Boas práticas
- Estabilidade:
data-testidsó quando roles/texto não forem fiáveis; esperas com auto-retry do Playwright em vez desleepfixo. - Isolamento: cada teste deve poder correr sozinho; limpar estado ou usar utilizador/tenant dedicado.
- Segredos: credenciais de teste em variáveis de ambiente ou ficheiros ignorados pelo Git, nunca em código versionado em claro.
- CI: cache de browsers do Playwright; artefactos (trace, screenshot, vídeo) em falhas.
O que documentar aqui depois da adoção
- Comando único documentado no README para “subir stack + correr E2E”.
- Lista de smoke tests obrigatórios no pipeline.
- Política de browsers (Chromium apenas no CI vs matriz completa).
Playwright ainda não está configurado neste repositório; esta página fixa a direção técnica e o checklist de adoção.