AgentSkillsCN

qa-wdio-add-new-flow

根据实际需求,新增E2E测试流程(按需添加spec目录、Screen Object、数据与辅助函数)。适用于用户提出为某项功能新增测试流程、新测试套件或测试场景时使用。

SKILL.md
--- frontmatter
name: qa-wdio-add-new-flow
description: Adiciona um novo fluxo de testes E2E (pastas em specs, screenobjects, data e helpers conforme necessário). Use quando o usuário pedir para adicionar fluxo, nova suíte ou cenários para uma funcionalidade.

Add new flow (E2E WebdriverIO)

Ao adicionar um novo fluxo de testes E2E ao projeto, seguir esta checklist em tests/e2e/.

Checklist

  1. Criar pasta em specs: tests/e2e/specs/<fluxo>/ (ex.: specs/cart/, specs/scheduled-delivery/). Incluir pelo menos um arquivo *.spec.ts com describe/it (Mocha).
  2. Screenobjects (se necessário): Se o fluxo usar telas novas, criar ou estender arquivos em tests/e2e/screenobjects/ (herdar AppScreen quando fizer sentido; usar getElementByTestID e helpers de Utils.ts).
  3. Data (se necessário): Estender tests/e2e/data/ (Constants.ts, Logins.ts ou novo módulo) com constantes ou dados reutilizáveis do fluxo.
  4. Helpers (se necessário): Se houver setup ou ações reutilizáveis, usar tests/e2e/helpers/ ou funções em before()/after() no describe.
  5. Imports nos specs: Caminhos relativos (ex.: ../../data/Constants, ../../screenobjects/HomeScreen, ../../helpers/Utils).

Nomenclatura

  • Pasta do fluxo: Nome curto e claro (ex.: cart, scheduled-delivery).
  • Arquivos de spec: *.spec.ts; nome pode descrever o cenário (ex.: checkout-cart.spec.ts, delivery-cart.spec.ts).
  • Screenobjects: Sufixo Screen ou nome do componente (ex.: CartScreen.ts, OrderScreen.ts).

Executar apenas um fluxo

Usar o config e filtro de specs (ex.: opção --spec do wdio ou suites no config). Exemplo com scripts do package.json:

bash
yarn wdio-android
# ou filtrar por pasta/spec no config ou via CLI

References

  • Estrutura: tests/e2e/specs/, screenobjects/, data/, helpers/
  • Scripts: package.json (wdio-android, wdio-ios, etc.)