Bird
Raised Fist0
Cypresstesting~5 mins

Local storage management in Cypress - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is local storage in web testing?
Local storage is a browser feature that stores data on the user's computer. It keeps data even after the browser is closed, allowing tests to check saved information between sessions.
Click to reveal answer
beginner
How do you clear local storage in Cypress?
Use cy.clearLocalStorage() to remove all data from local storage during a test. This helps start tests with a clean state.
Click to reveal answer
intermediate
How to set a local storage item in Cypress before a test?
Use cy.window().then((win) => { win.localStorage.setItem('key', 'value') }) to add data to local storage. This simulates saved data before the app loads.
Click to reveal answer
intermediate
How can you verify a local storage value in Cypress?
Use cy.getLocalStorage('key').should('eq', 'value') to check if the stored value matches what you expect.
Click to reveal answer
beginner
Why is managing local storage important in automated tests?
Managing local storage ensures tests run with predictable data. It avoids leftover data causing false test results and helps simulate user scenarios accurately.
Click to reveal answer
Which Cypress command clears all local storage data?
Acy.clearLocalStorage()
Bcy.clearCookies()
Ccy.resetStorage()
Dcy.clearSessionStorage()
How do you set a local storage item with key 'token' and value 'abc123' in Cypress?
Acy.saveLocalStorage('token', 'abc123')
Bcy.localStorage('token', 'abc123')
Ccy.window().then((win) => { win.localStorage.setItem('token', 'abc123') })
Dcy.storeLocal('token', 'abc123')
What happens to local storage data when the browser is closed?
AIt is deleted
BIt is saved and persists
CIt moves to cookies
DIt is encrypted
Which command verifies a local storage key 'user' equals 'admin' in Cypress?
Acy.assertLocalStorage('user', 'admin')
Bcy.checkLocalStorage('user', 'admin')
Ccy.verifyLocalStorage('user', 'admin')
Dcy.getLocalStorage('user').should('eq', 'admin')
Why should tests clear local storage before running?
ATo avoid leftover data affecting results
BTo test cookies instead
CTo save local storage data
DTo speed up tests
Explain how to manage local storage in Cypress tests and why it is important.
Think about setting, clearing, and checking local storage during tests.
You got /4 concepts.
    Describe the difference between local storage and session storage in the context of automated testing.
    Focus on data persistence and test implications.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the primary purpose of local storage in a web browser when testing with Cypress?
      easy
      A. To run JavaScript code on the server
      B. To store small amounts of data persistently for a website
      C. To style the webpage dynamically
      D. To manage network requests

      Solution

      1. Step 1: Understand local storage role

        Local storage is used by browsers to save small data like user preferences or tokens persistently.
      2. Step 2: Connect with Cypress testing

        Cypress can access this storage to verify or manipulate data during tests.
      3. Final Answer:

        To store small amounts of data persistently for a website -> Option B
      4. Quick Check:

        Local storage = persistent small data [OK]
      Hint: Local storage saves small data for the site, not server tasks [OK]
      Common Mistakes:
      • Confusing local storage with server-side storage
      • Thinking local storage runs code
      • Mixing local storage with styling or network
      2. Which Cypress command is used to access the browser's window object to manage local storage?
      easy
      A. cy.document()
      B. cy.getLocalStorage()
      C. cy.localStorage()
      D. cy.window()

      Solution

      1. Step 1: Recall Cypress commands for browser objects

        To access the browser's window object, Cypress provides cy.window().
      2. Step 2: Understand local storage access

        Local storage is a property of the window object, so cy.window() is used to reach it.
      3. Final Answer:

        cy.window() -> Option D
      4. Quick Check:

        Access window with cy.window() [OK]
      Hint: Use cy.window() to reach local storage via window object [OK]
      Common Mistakes:
      • Using non-existent commands like cy.getLocalStorage()
      • Confusing cy.document() with window object
      • Assuming cy.localStorage() exists
      3. What will be the output of the following Cypress code snippet?
      cy.window().then(win => {
        win.localStorage.setItem('user', 'Alice');
        const user = win.localStorage.getItem('user');
        cy.wrap(user).should('equal', 'Alice');
      });
      medium
      A. Test will fail due to syntax error in setItem usage
      B. Test will fail because localStorage is not accessible
      C. Test will pass because 'user' is set and retrieved correctly
      D. Test will pass but 'user' will be undefined

      Solution

      1. Step 1: Analyze localStorage set and get

        The code sets 'user' key to 'Alice' in localStorage, then retrieves it correctly.
      2. Step 2: Check assertion correctness

        The assertion checks if retrieved value equals 'Alice', which is true, so test passes.
      3. Final Answer:

        Test will pass because 'user' is set and retrieved correctly -> Option C
      4. Quick Check:

        Set and get localStorage works, test passes [OK]
      Hint: Setting then getting localStorage key returns correct value [OK]
      Common Mistakes:
      • Assuming localStorage is inaccessible in Cypress
      • Thinking setItem syntax is wrong
      • Expecting undefined instead of stored value
      4. Identify the error in this Cypress code that tries to clear local storage:
      cy.window().then(win => {
        win.localStorage.clear;
      });
      medium
      A. Missing parentheses to call clear method
      B. localStorage.clear requires a key argument
      C. cy.window() cannot access localStorage
      D. clear is not a function of localStorage

      Solution

      1. Step 1: Check localStorage clear usage

        localStorage.clear is a function and must be called with parentheses: clear()
      2. Step 2: Identify missing parentheses error

        The code uses clear without parentheses, so it does not execute the function.
      3. Final Answer:

        Missing parentheses to call clear method -> Option A
      4. Quick Check:

        Call clear() with parentheses to clear storage [OK]
      Hint: Always add () to call localStorage.clear() method [OK]
      Common Mistakes:
      • Forgetting parentheses when calling functions
      • Thinking clear needs a key argument
      • Assuming cy.window() can't access localStorage
      5. You want to write a Cypress test that saves a token in local storage, reloads the page, and then verifies the token is still present. Which sequence of commands correctly achieves this?
      hard
      A. cy.window().then(win => win.localStorage.setItem('token', 'abc123')); cy.reload(); cy.window().then(win => expect(win.localStorage.getItem('token')).to.equal('abc123'));
      B. cy.setLocalStorage('token', 'abc123'); cy.reload(); cy.getLocalStorage('token').should('equal', 'abc123');
      C. cy.window().then(win => win.localStorage.setItem('token', 'abc123')); cy.reload(); cy.window().its('localStorage.token').should('equal', 'abc123');
      D. cy.window().then(win => win.localStorage.clear()); cy.reload(); cy.window().its('localStorage.token').should('be.null');

      Solution

      1. Step 1: Save token in localStorage correctly

        Using cy.window().then(win => win.localStorage.setItem('token', 'abc123')) correctly sets the token.
      2. Step 2: Reload and verify token presence

        After cy.reload(), accessing localStorage via cy.window().then and asserting with expect ensures token is still 'abc123'.
      3. Step 3: Evaluate other options

        cy.window().then(win => win.localStorage.setItem('token', 'abc123')); cy.reload(); cy.window().its('localStorage.token').should('equal', 'abc123'); uses incorrect property access for localStorage token; cy.setLocalStorage('token', 'abc123'); cy.reload(); cy.getLocalStorage('token').should('equal', 'abc123'); uses non-existent commands; cy.window().then(win => win.localStorage.clear()); cy.reload(); cy.window().its('localStorage.token').should('be.null'); clears storage and checks for null, which is not the goal.
      4. Final Answer:

        Use cy.window() to set, reload, then check with expect -> Option A
      5. Quick Check:

        Set, reload, then assert with cy.window() and expect [OK]
      Hint: Set token, reload, then check with cy.window() and expect [OK]
      Common Mistakes:
      • Using wrong localStorage property access
      • Using non-existent Cypress commands
      • Clearing storage instead of verifying token
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard