Bird
Raised Fist0
Cypresstesting~5 mins

cy.go() for browser history in Cypress - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does cy.go() do in Cypress?

cy.go() moves the browser forward or backward in its history, similar to clicking the browser's back or forward buttons.

Click to reveal answer
beginner
How do you use cy.go() to go back one page in browser history?

Use cy.go('back') or cy.go(-1) to move back one page.

Click to reveal answer
intermediate
How do you move forward two pages in browser history using cy.go()?

Use cy.go('forward') or cy.go(2) to move forward two pages.

Click to reveal answer
beginner
What happens if you call cy.go() without any arguments?

Calling cy.go() without arguments does nothing; you must specify a direction or number.

Click to reveal answer
beginner
Can cy.go() be used to reload the current page?

No, cy.go() only navigates browser history. Use cy.reload() to reload the current page.

Click to reveal answer
Which command moves the browser back one page in Cypress?
Acy.go('back')
Bcy.go('forward')
Ccy.reload()
Dcy.visit()
What argument moves the browser forward two pages using cy.go()?
A-2
B'back'
C2
D'forward'
What does cy.go() do if called without arguments?
AGoes forward one page
BReloads the page
CGoes back one page
DDoes nothing
Which command should you use to reload the current page in Cypress?
Acy.reload()
Bcy.go('reload')
Ccy.go(0)
Dcy.visit()
How do you move back two pages in browser history using cy.go()?
Acy.go(2)
Bcy.go('back')
Ccy.go(-2)
Dcy.go('forward')
Explain how to use cy.go() to navigate browser history in Cypress.
Think about browser back and forward buttons.
You got /4 concepts.
    What is the difference between cy.go() and cy.reload()?
    Consider what happens when you press browser refresh vs back button.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the Cypress command cy.go('back') do during a test?
      easy
      A. It reloads the current page.
      B. It navigates the browser to the previous page in history.
      C. It navigates the browser to the next page in history.
      D. It opens a new browser tab.

      Solution

      1. Step 1: Understand cy.go() usage

        The cy.go() command controls browser history navigation, similar to back and forward buttons.
      2. Step 2: Interpret the argument 'back'

        Using 'back' tells Cypress to go to the previous page in the browser history.
      3. Final Answer:

        It navigates the browser to the previous page in history. -> Option B
      4. Quick Check:

        cy.go('back') = previous page [OK]
      Hint: Remember 'back' means previous page in history [OK]
      Common Mistakes:
      • Confusing 'back' with 'forward'
      • Thinking it reloads the page
      • Assuming it opens a new tab
      2. Which of the following is the correct syntax to move forward one page in browser history using cy.go()?
      easy
      A. cy.go('forward')
      B. cy.go(-1)
      C. cy.go('back')
      D. cy.go(0)

      Solution

      1. Step 1: Recall cy.go() arguments

        cy.go() accepts 'back', 'forward' or numbers like -1, 1 to move in history.
      2. Step 2: Identify correct forward syntax

        To move forward one page, use 'forward' or 1. Among options, only cy.go('forward') is correct syntax.
      3. Final Answer:

        cy.go('forward') -> Option A
      4. Quick Check:

        Forward navigation = 'forward' [OK]
      Hint: Use 'forward' string or 1 to go forward [OK]
      Common Mistakes:
      • Using negative number to go forward
      • Using 'back' instead of 'forward'
      • Using 0 which does nothing
      3. Given this Cypress test code:
      cy.visit('/page1')
      cy.visit('/page2')
      cy.go(-1)
      cy.url().should('include', '/page1')

      What will the assertion check after cy.go(-1) executes?
      medium
      A. The URL includes '/page1'
      B. The URL includes '/page2'
      C. The URL includes '/page3'
      D. The URL remains unchanged

      Solution

      1. Step 1: Trace navigation commands

        First, the test visits '/page1', then '/page2', so browser history has '/page1' then '/page2'.
      2. Step 2: Understand cy.go(-1)

        cy.go(-1) moves back one page in history, so it goes back from '/page2' to '/page1'.
      3. Step 3: Check the assertion

        The assertion checks that the URL includes '/page1', which is true after going back.
      4. Final Answer:

        The URL includes '/page1' -> Option A
      5. Quick Check:

        cy.go(-1) = back one page = '/page1' [OK]
      Hint: Negative number in cy.go() means go back [OK]
      Common Mistakes:
      • Assuming URL stays at '/page2'
      • Confusing -1 with forward navigation
      • Expecting URL to be '/page3' which was never visited
      4. You wrote this Cypress test:
      cy.visit('/home')
      cy.visit('/about')
      cy.go(2)
      cy.url().should('include', '/contact')

      But the test fails. What is the likely reason?
      medium
      A. cy.go(2) is invalid syntax and causes an error.
      B. cy.go(2) goes back two pages, so URL is wrong.
      C. cy.go(2) reloads the current page instead of navigating.
      D. cy.go(2) tries to go forward two pages but no forward history exists.

      Solution

      1. Step 1: Analyze browser history after visits

        After visiting '/home' then '/about', browser history has two pages: '/home' then '/about'. No forward pages exist.
      2. Step 2: Understand cy.go(2) behavior

        cy.go(2) tries to go forward two pages, but since no forward history exists, navigation fails.
      3. Step 3: Reason test failure

        The URL does not change to '/contact' because forward navigation is impossible, causing the assertion to fail.
      4. Final Answer:

        cy.go(2) tries to go forward two pages but no forward history exists. -> Option D
      5. Quick Check:

        Forward navigation beyond history length fails [OK]
      Hint: Cannot go forward beyond available history [OK]
      Common Mistakes:
      • Thinking cy.go(2) reloads page
      • Assuming cy.go(2) goes back
      • Believing cy.go(2) is invalid syntax
      5. You want to test navigation between three pages: '/start', '/middle', and '/end'. You write:
      cy.visit('/start')
      cy.visit('/middle')
      cy.visit('/end')
      cy.go(-2)
      cy.url().should('include', '/start')

      What does cy.go(-2) do here, and why is the assertion correct?
      hard
      A. cy.go(-2) moves back one page only, so URL includes '/middle'.
      B. cy.go(-2) moves forward two pages, which is invalid here.
      C. cy.go(-2) moves back two pages from '/end' to '/start', so URL includes '/start'.
      D. cy.go(-2) reloads '/end' page twice, so URL stays '/end'.

      Solution

      1. Step 1: Understand the navigation history

        Visiting '/start', then '/middle', then '/end' creates a history stack: ['/start', '/middle', '/end'].
      2. Step 2: Interpret cy.go(-2)

        cy.go(-2) moves back two pages in history, from '/end' back to '/start'.
      3. Step 3: Confirm the assertion

        After moving back two pages, the URL should include '/start', so the assertion is correct.
      4. Final Answer:

        cy.go(-2) moves back two pages from '/end' to '/start', so URL includes '/start'. -> Option C
      5. Quick Check:

        Negative number moves back multiple pages [OK]
      Hint: Negative numbers in cy.go() move back that many pages [OK]
      Common Mistakes:
      • Confusing negative with forward navigation
      • Thinking cy.go(-2) reloads pages
      • Assuming it moves back only one page
      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