Pular para o conteúdo principal

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/ ou atomus-core/e2e/ na raiz do monorepo (definir uma única localização).
  • Ficheiros: *.spec.ts agrupados por área (auth, producao, estoque, …).
  • Configuração: playwright.config.ts com baseURL apontando 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

  1. Subir a API (e base de dados de teste, se aplicável).
  2. Subir o frontend (npm run dev ou preview do build).
  3. Executar npx playwright test (ou script npm equivalente).

Boas práticas

  • Estabilidade: data-testid só quando roles/texto não forem fiáveis; esperas com auto-retry do Playwright em vez de sleep fixo.
  • 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.