← Back to library
Playwrightfixturesadvancedv1.20+
Pre-set localStorage before navigation
Use addInitScript to inject localStorage values before the page boots — ideal for themes, feature flags, and onboarding state.
1test('dashboard loads with pre-set dark mode', async ({ page }) => {
2 // addInitScript runs in the browser before every page.goto() in this test
3 await page.addInitScript(() => {
4 window.localStorage.setItem('theme', 'dark');
5 window.localStorage.setItem('onboardingComplete', 'true');
6 });
7
8 await page.goto('/dashboard');
9
10 // Theme is already applied — no toggle click needed
11 await expect(page.locator('html')).toHaveAttribute('data-theme', 'dark');
12
13 // Onboarding modal should not appear for returning users
14 await expect(page.getByTestId('onboarding-modal')).not.toBeVisible();
15});#localStorage#addInitScript#theme#feature flag#setup