From 7a0bfcf60f2f9dc3b2cf167c56e26336b68654c9 Mon Sep 17 00:00:00 2001 From: Jaybe Date: Fri, 14 Nov 2025 18:33:37 +0900 Subject: [PATCH] test(e2e): explicitly focus Desktop to stabilize keyboard flow --- tests/e2e/viewport-toggle.kbd.e2e.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/tests/e2e/viewport-toggle.kbd.e2e.ts b/tests/e2e/viewport-toggle.kbd.e2e.ts index d165357..599527b 100644 --- a/tests/e2e/viewport-toggle.kbd.e2e.ts +++ b/tests/e2e/viewport-toggle.kbd.e2e.ts @@ -4,11 +4,14 @@ const builderUrl = '/en/builder' test('Preview viewport toggle via keyboard (Tab + Enter/Space)', async ({ page }) => { await page.goto(builderUrl) + await page.waitForLoadState('domcontentloaded') + // Ensure the page has focus before sending keyboard events + await page.locator('body').click({ position: { x: 1, y: 1 } }) - // Tab to first button (Desktop) - await page.keyboard.press('Tab') - await page.keyboard.press('Tab') - await expect(page.getByRole('button', { name: 'Desktop' })).toBeFocused() + // Focus the Desktop button explicitly to avoid flakiness from skip-link/initial focus + const desktopBtn = page.getByRole('button', { name: 'Desktop' }) + await desktopBtn.focus() + await expect(desktopBtn).toBeFocused() // Press Space to toggle Mobile (first ensure Desktop is selected, then move to Mobile with Tab) await page.keyboard.press('Tab')