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 })