Başarısız veya kararsız Playwright testlerini düzeltin. Kullanıcı "testi düzelt", "kararsız test", "test başarısız", "testi debug et", "test kırık", "test bazen geçer" veya "aralıklı hata" dediğinde kullanın.
cd ~/.claude/skills
git clone https://github.com/alirezarezvani/claude-skills.git claude-skills mkdir -p ~/.claude/skills/fix
curl -fsSL https://raw.githubusercontent.com/alirezarezvani/claude-skills/HEAD/.gemini/skills/fix/SKILL.md \
-o ~/.claude/skills/fix/SKILL.md Playwright testinin başarısız olduğu veya aralıklı olarak geçtiği durumları sistematik bir sınıflandırma kullanarak tanılayın ve düzeltin.
$ARGUMENTS şunları içerir:
e2e/login.spec.ts"should redirect after login""the checkout test fails in CI but passes locally"Hatayı yakalamak için testi çalıştırın:
npx playwright test <file> --reporter=list
Test geçerse, muhtemelen değişkendir. Burn-in çalıştırın:
npx playwright test <file> --repeat-each=10 --reporter=list
Hâlâ geçerse, paralel çalışanlarla deneyin:
npx playwright test --fully-parallel --workers=4 --repeat-each=5
Tam tracing ile çalıştırın:
npx playwright test <file> --trace=on --retries=0
Trace çıktısını okuyun. Trace dosyalarını analiz etmek için /debug kullanın.
Bu beceri dizininden flaky-taxonomy.md dosyasını yükleyin.
Her başarısız test dört kategoriden birine düşer:
| Kategori | Semptom | Tanı |
|---|---|---|
| Zamanlama/Async | Her yerde aralıklı olarak başarısız olur | --repeat-each=20 yerel olarak yeniden üretir |
| Test Yalıtımı | Suite içinde başarısız, tek başına geçer | --workers=1 --grep "test name" geçer |
| Ortam | CI'da başarısız, yerel olarak geçer | CI vs yerel ekran görüntüleri/trace'leri karşılaştırın |
| Altyapı | Rastgele, herhangi bir desen yok | Hata browser dahili bileşenlerine referans verir |
Zamanlama/Async:
waitForTimeout() yerine web-first assertions kullanınawait ekleyintoBeVisible() kullanınTest Yalıtımı:
Ortam:
docker kullanınAltyapı:
retries: 2)Kararlılığı onaylamak için testi 10 kez çalıştırın:
npx playwright test <file> --repeat-each=10 --reporter=list
Hepsi 10'u geçmeli. Birisi başarısız olursa, adım 3'e dönün.
Öneriniz:
retries: 2 ile CI'a ekleyintrace: 'on-first-retry' etkinleştirin2 veya daha fazla bağımsız görevin paralel olarak yürütülebileceği ve aralarında state paylaşımı ya da sıralı bağımlılık olmadığı durumlarda kullanın.
Ayrı bir oturumda inceleme kontrol noktaları ile yürütülecek yazılı bir uygulama planınız olduğunda kullanın.
Mevcut oturumda bağımsız görevlerle uygulama planlarını yürütürken kullanın
Herhangi bir hata, test başarısızlığı veya beklenmeyen davranışla karşılaştığınızda, çözüm önerisi sunmadan önce kullanın.
Herhangi bir feature ya da bugfix uygulamaya başlamadan önce kullanın.
Yeni beceriler oluştururken, mevcut becerileri düzenlerken veya dağıtımdan önce becerileri doğrularken kullanın.