Navigate back or forward to the previous or next URL in the browser's history.
Syntax
cy.go(direction)
cy.go(direction, options)
Usage
Correct Usage
cy.go('back')
Arguments
direction (String, Number)
The direction to navigate.
You can use back
or forward
to go one step back or forward. You could also
navigate to a specific history position (-1
goes back one page, 1
goes
forward one page, etc).
options (Object)
Pass in an options object to change the default behavior of cy.go()
.
Option | Default | Description |
---|---|---|
log | true | Displays the command in the Command log |
timeout | pageLoadTimeout | Time to wait for cy.go() to resolve before timing out |
Yields
-
cy.go()
'yields thewindow
object after the page finishes loading'
Examples
Direction
Go back in browser's history
cy.go('back') // equivalent to clicking back button
Go forward in browser's history
cy.go('forward') // equivalent to clicking forward button
Number
Go back in browser's history
cy.go(-1) // equivalent to clicking back button
Go forward in browser's history
cy.go(1) // equivalent to clicking forward button
Notes
Refreshing and loading the page
If going forward or back causes a full page refresh, Cypress will wait for the new page to load before moving on to new commands.
Cypress additionally handles situations where a page load was not caused (such as hash routing) and will resolve immediately.
Rules
Requirements
-
cy.go()
requires being chained off ofcy
. -
cy.go()
requires the response to becontent-type: text/html
. -
cy.go()
requires the response code to be2xx
after following redirects. -
cy.go()
requires the loadload
event to eventually fire.
Assertions
-
cy.go()
will automatically wait for assertions you have chained to pass
Timeouts
-
cy.go()
can time out waiting for the page to fire itsload
event. -
cy.go()
can time out waiting for assertions you've added to pass.
Command Log
Go back in browser's history
cy.visit('http://localhost:8000/folders').go('back')
The commands above will display in the Command Log as:
When clicking on the go
command within the command log, the console outputs
the following: