Authentication

Cookies and Local Storage

Cookies and Local Storage: definition, detailed explanation, practical usage, examples, mistakes, interview notes, and practice for Playwright automation.

Definition and Brief Explanation

Definition: Cookies and Local Storage is part of managing authenticated browser state, cookies, local storage, or role-based sessions in Playwright.

Explanation: Cookies and Local Storage helps avoid repeating slow login steps and supports testing different user roles. The important part is keeping state isolated so tests remain parallel-safe.

Why It Matters

  • It makes the Playwright suite easier to understand and debug.
  • It supports reliable automation instead of one-off scripts.
  • It helps explain the topic in interviews with practical examples.
  • It connects code behavior with user-facing results.

How It Works

  1. Identify the role this topic plays in the test flow.
  2. Use the Playwright API that directly matches the need.
  3. Keep the example small enough to debug.
  4. Add an assertion or verification that proves success.

Syntax and Examples

Example 1: Read cookies

const cookies = await page.context().cookies();

Explanation: Reads cookies from the current browser context.

Example 2: Set localStorage

await page.evaluate(() => localStorage.setItem('theme', 'dark'));

Explanation: Runs JavaScript in the browser page to set localStorage.

Common Mistakes

  • Using the API without understanding the test goal.
  • Mixing too many unrelated checks in one example.
  • Skipping verification after setup or action.
  • Ignoring Playwright reports, traces, or failure messages.

Interview Notes

  1. What is Cookies and Local Storage?
  2. Where does Cookies and Local Storage fit in Playwright?
  3. Can you show a realistic example?
  4. What mistake would make this flaky?

Practice Task

Create a small Playwright example for Cookies and Local Storage. Add one positive assertion, one note about what can go wrong, and one improvement that would make the test more maintainable.