Introduction
Test retries automatically re-run failed tests to handle flaky tests and improve test reliability. Playwright provides built-in retry mechanisms with detailed tracking.Configuring Retries
Fromsrc/common/config.ts:192:
Global Retry Configuration
Environment-Based Retries
Project-Level Retries
Test-Level Retries
Fromsrc/common/testType.ts:186-209:
How Retries Work
Fromsrc/common/test.ts:257-284:
Retry Execution Flow
Test Result Structure
Retry Behavior
Test Outcomes
Fromsrc/common/test.ts:292-294:
Retry Context
Each retry gets a fresh test environment:Accessing Retry Information
From test info:Recording on Retries
Fromsrc/common/config.ts:118-119:
Screenshots
Videos
Traces
Conditional Logic Based on Retries
Retry Strategies
Aggressive Retries for Flaky Tests
No Retries for Unit Tests
Smart Retry Configuration
Debugging Flaky Tests
Identify Flaky Tests
Track Retry Patterns
CLI Retry Options
From CLI:Failing on Flaky Tests
Fromsrc/common/config.ts:83:
Repeat Tests
Fromsrc/common/config.ts:191:
Different from retries - runs tests multiple times regardless of outcome:
Best Practices
1. Use Retries Wisely
2. Fix Root Causes
3. Add Diagnostics on Retry
4. Monitor Retry Rates
5. Different Strategies for Different Tests
Common Anti-Patterns
Anti-Pattern 1: Excessive Retries
Anti-Pattern 2: Retry-Dependent Logic
Anti-Pattern 3: Ignoring Flaky Tests
Example: Complete Retry Strategy
Monitoring Retry Health
Next Steps
Configuration
Configure retry settings
Test Hooks
Set up consistent test state
