协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
fix【开发与工程】Corrija testes Playwright com falha ou instáveis. Use quando o usuário disser "corrigir teste", "teste instável", "teste falhando", "depurar teste", "teste quebrado", "teste passa às vezes" ou "falha intermitente".
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: "fix" description: >- Corrija testes Playwright com falha ou instáveis. Use quando o usuário disser "corrigir teste", "teste instável", "teste falhando", "depurar teste", "teste quebrado", "teste passa às vezes" ou "falha intermitente". agents:
Diagnosticar e corrigir um teste Playwright que falha ou passa intermitentemente usando uma taxonomia sistemática.
$ARGUMENTS contém:
e2e/login.spec.ts"should redirect after login""o teste de checkout falha no CI mas passa localmente"Executar o teste para capturar o erro:
npx playwright test <arquivo> --reporter=list
Se o teste passar, provavelmente é instável. Executar burn-in:
npx playwright test <arquivo> --repeat-each=10 --reporter=list
Se ainda passar, tentar com workers paralelos:
npx playwright test --fully-parallel --workers=4 --repeat-each=5
Executar com rastreamento completo:
npx playwright test <arquivo> --trace=on --retries=0
Ler a saída do trace. Use /debug para analisar arquivos de trace se disponível.
Carregar flaky-taxonomy.md deste diretório de skill.
Todo teste com falha se enquadra em uma das quatro categorias:
| Categoria | Sintoma | Diagnóstico |
|---|---|---|
| Timing/Async | Falha intermitentemente em todo lugar | --repeat-each=20 reproduz localmente |
| Isolamento de Teste | Falha na suite, passa sozinho | --workers=1 --grep "nome do teste" passa |
| Ambiente | Falha no CI, passa localmente | Comparar capturas de tela/traces CI vs local |
| Infraestrutura | Aleatório, sem padrão | Erro referencia internos do navegador |
Timing/Async:
waitForTimeout() por asserções web-firstawait a chamadas Playwright ausentestoBeVisible() antes de interagir com elementosIsolamento de Teste:
Ambiente:
docker localmente para corresponder ao ambiente CIInfraestrutura:
retries: 2)Executar o teste 10 vezes para confirmar estabilidade:
npx playwright test <arquivo> --repeat-each=10 --reporter=list
Todos os 10 devem passar. Se algum falhar, voltar ao passo 3.
Sugerir:
retries: 2 se ainda não estivertrace: 'on-first-retry' na config