Loading challenge...
Retry a flaky endpoint with growing delays until it succeeds, and assert the give-up branch too
The server fails the first two calls and only succeeds on the third โ your client must retry with growing delays until it gets a 200 or gives up
Clicking start issues a POST /api/lab/flaky to mint a token, then polls GET /api/lab/flaky?token=โฆ in a loop. The endpoint returns 500 on calls 1 and 2 and 200 from call 3 onward.
Each retry waits longer than the last (exponential backoff: 300, 600, 1200ย msโฆ), capped at 5 attempts before the client declares a terminal failure.
Watch the attempts climb until success
Attempt: 0 / 5
Idle โ press start to begin
Automation hints
#retry-start, then poll the #retry-result[data-outcome] attribute โ it transitions pending โ success only after the loop reaches a 200#attempt-count (and its data-count) climbs each try โ assert it reached at least 3, proving the client actually retried rather than passing first-shotroute.fulfill with a call counter (fail calls 1-2, succeed on 3) is the canonical way to inject deterministic flakiness for your own retry tests#retry-result[data-outcome=failed] after the cap