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.- It is unsafe
to chain further commands that rely on the yielded
window
aftercy.go()
.
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: