Top causes of flakiness
- Implicit waits / race conditions
- Shared test data / order dependence
- Network and time-based assertions
- Animations and CSS transitions
- Resource exhaustion in CI
How to fix them
Quarantine the test, add observability (HAR + video), reproduce locally with retries=0, fix the root cause (not the symptom), then re-add to the main suite with a stability gate.