Why this is here — read before you start the timer

This is a real 6-minute run by default, not a simulated one — it exists specifically to break scripts that rely on a framework's default timeout or a fixed sleep() instead of a genuine condition-based while loop. The status is computed from a stored start timestamp on every check, never accumulated, so it survives a refresh, a backgrounded tab, or a throttled timer — reload mid-run and it picks up exactly where the clock actually is. job-acknowledge is clickable the entire time; click it before the job reaches COMPLETED and you get FAIL — acknowledged early on purpose, which is what punishes a fixed sleep(60) script. There's also a one-tick quirk around the halfway point where the status text renders as mixed case with a trailing space — normalise your read (trim + uppercase) rather than comparing raw text, and use the data-status attribute if you want an locator that's never affected by it. Use the duration selector below to switch to a 30-second run while you're building your script; it's clearly labeled PASS (FAST MODE) in the verdict so it's obvious in a report that it wasn't the real 6-minute run.

Status: QUEUED

Progress: 0%

ETA (s): 0

Poll count: 0

Result code:

Telemetry

Iterations: 0 Elapsed (s): 0 Verdict: PENDING
Framework hints (click to expand)

Playwright: raise the test timeout — test.setTimeout(8 * 60_000) — and use expect.poll(...).toBe('COMPLETED') with { timeout: 7 * 60_000, intervals: [5000] }. Default 30s action/expect timeouts will fail this scenario — that's the lesson.

Tosca: use a While control structure with the condition bound to a buffer set from the job-status steering, plus a TBox Wait of 5s inside the loop body. Set the TestCase timeout above 6 minutes or the ExecutionList aborts mid-loop.

Selenium: FluentWait with withTimeout(Duration.ofMinutes(7)) and pollingEvery(Duration.ofSeconds(5)), ignoring StaleElementReferenceException.

Cypress: the default command timeout won't stretch this far cleanly — demonstrate recursion with cy.then() rather than a single long cy.get(..., { timeout }), and note the defaultCommandTimeout config.

← Back to Control Flow Lab