cypress back

Cypress Back

As a software developer, I have come across the term 'Cypress Back' while working on web applications. It refers to the technique of navigating back to the previous page or state in a web application using the Cypress testing framework.

Using Cypress Back command

The simplest way to navigate back in Cypress is by using the 'back' command. This command simulates a browser's back button click and takes the user back to the previous page or state. The code for using 'back' command in Cypress is as follows:


cy.go('back')

Using Cypress History

Cypress also provides a History API that allows developers to manipulate the browser's history. The code for navigating back using Cypress History is as follows:


cy.window().then((win) => {
  win.history.back()
})

This code retrieves the window object and calls its 'history.back()' method to navigate back to the previous state.

Using Cypress Interception

Another way to navigate back in Cypress is by intercepting the network traffic and returning a cached response. This technique can be useful when navigating back to a page that has already been loaded.

The code for intercepting network traffic and returning a cached response is as follows:


cy.intercept('GET', '/api/data', (req) => {
  req.reply({ fixture: 'cached-data.json' })
})

cy.visit('/my-page')
cy.get('#my-button').click()
cy.go('back')

This code intercepts the GET request to the '/api/data' endpoint and returns a cached response from the 'cached-data.json' fixture. When the user clicks on the '#my-button' element, it navigates to a new page. Finally, calling the 'back' command takes the user back to the previous state with the cached response.

Subscribe to The Poor Coder | Algorithm Solutions

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
[email protected]
Subscribe