Ultimate

X_E2E_SERVICE_WORKER_ABSENT

Means

no service worker took control of the page within the budget

Typical cause

bounded in the page rather than by a loop in the harness, so there is exactly one retry mechanism; an unbounded wait is a test that hangs rather than fails

Fix

confirm the page registers one: await page.evaluate(() => navigator.serviceWorker?.controller !== undefined) — if it does, pass a longer budget to waitForServiceWorker({ timeoutMs })

Listed under Testing

This page as markdown