Add setup / hooks (E2E WebdriverIO)
No WebdriverIO não existem "fixtures" no sentido Playwright. O equivalente é hooks no config e helpers de setup.
Onde
- •Hooks globais: tests/e2e/config/wdio.shared.conf.ts (ou wdio.android.conf.ts, wdio.ios.conf.ts). Propriedades:
before,after,beforeSuite,afterSuite,beforeTest,afterTest. Todas podem serasynce usarawait. - •Setup por suite/spec: Dentro do arquivo de spec, usar
before()/after()do Mocha nodescribe()e chamar funções de tests/e2e/helpers/ (ex.: loginApp, flushRedisCache) para evitar duplicação.
Hooks no config
- •before / after: Executados uma vez por worker (antes de todos os specs / depois de todos os specs). Acesso a
capabilities,specs; para interagir com dispositivo, usargetDeviceFromCapabilities('deviceA')(import de helpers/Utils). - •beforeSuite / afterSuite: Por suite Mocha. Recebem objeto
suite. - •beforeTest / afterTest: Por teste. Úteis para screenshot em falha, limpeza, etc.
- •Manter export do config; não remover hooks existentes sem necessidade.
Helpers de setup
- •Funções reutilizáveis em tests/e2e/helpers/ (ex.: Utils.ts com loginApp, flushRedisCache, reLaunchApp). Nos specs, importar e chamar no
before()do describe quando vários testes precisarem do mesmo setup.
Checklist
- • Setup global → config (wdio.shared.conf.ts ou específico)
- • Setup por fluxo/suite → before()/after() no describe + helpers
- • Uso de async/await em hooks
References
- •Config: tests/e2e/config/wdio.shared.conf.ts
- •Helpers: tests/e2e/helpers/Utils.ts, Manager.ts