{"_id":"56902aa018c3920d00be8b4b","version":{"_id":"568fde82b700ce0d002f4b46","__v":23,"project":"568fde81b700ce0d002f4b43","createdAt":"2016-01-08T16:06:26.373Z","releaseDate":"2016-01-08T16:06:26.373Z","categories":["568fde82b700ce0d002f4b47","568ff0e504440a1700e4cbbd","569002f19ebef90d0087289d","569004f4769f210d00132599","5690056d9ebef90d008728a0","569005d394c5030d0028813a","5690067804440a1700e4cbe2","569137eb3c4f510d00ec9b92","56913815e56a790d008dbfe3","569138ba3c4f510d00ec9b93","5691392f3c4f510d00ec9b94","56913bbe72f2810d007e4cb0","56933b8d6ebadc0d005b71d2","56933b8d6ebadc0d005b71d3","569564facaa32519009c41e6","5696a319b6d61f0d00acfb40","5696a319a857080d0082e8e8","5697efe43503e40d0061f4d1","5697efe48d2a770d00d2fd16","569e9597ffccd10d00a05c59","56a7a1523d33bc2100793d5c","56a7a32ecf6d771700baeee8","56b8b0f7ddeb231700e69825"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":false,"codename":"bar","version_clean":"1.0.0","version":"1.0"},"parentDoc":null,"__v":0,"project":"568fde81b700ce0d002f4b43","category":{"_id":"569002f19ebef90d0087289d","pages":["56900352769f210d00132595","5690047121fcf0190071d943","569004924719c119002ce654","569004ceb700ce0d002f4b94","569023e518c3920d00be8b37","569023f748df220d004ca215","5690240af7eb9a0d00f4465d","5690241b48df220d004ca217","5690243e48df220d004ca219","56902453741e9c0d00af2fb5","56902463efcc380d0043a5a1","5690247b18c3920d00be8b39","56902492f7eb9a0d00f4465f","569024a16c49d70d00f18075","569024b2efcc380d0043a5a3","569024cc48df220d004ca21b","569024ea18c3920d00be8b3b","5690258618c3920d00be8b3f","5690259bf7eb9a0d00f44662","569025b06c49d70d00f18077","569029b418c3920d00be8b43","569029d4f7eb9a0d00f44667","569029e8e056c80d00fdec58","569029fb48df220d004ca221","56902a1c18c3920d00be8b46","56902a45f7eb9a0d00f44669","56902a6be056c80d00fdec5a","56902a78f7eb9a0d00f4466b","56902a8848df220d004ca224","56902aa018c3920d00be8b4b","56902ace6c49d70d00f18085","56902ae0741e9c0d00af2fc6","56902aee48df220d004ca226","56902af8f7eb9a0d00f44674","56902b26efcc380d0043a5b1","56902b8148df220d004ca22a","56902ba918c3920d00be8b55","56902bb96c49d70d00f1808b","56902bc818c3920d00be8b57","56902bd518c3920d00be8b59","56902be218c3920d00be8b5b","56902bf66c49d70d00f1808e","56902c05e056c80d00fdec5d","56902c196c49d70d00f18090","56902c2648df220d004ca22d","56902c34f7eb9a0d00f44678","56902c5518c3920d00be8b5d","56902c62741e9c0d00af2fcc","56902cde48df220d004ca230","56902cea741e9c0d00af2fcf","56902d0ae056c80d00fdec60","56902d20efcc380d0043a5b4","56902d3448df220d004ca232","5696c3fbf9203821005fe2fb","5696c3fb9e2d000d00947ab0","5696c3fbf9203821005fe2fa","5697efee8d2a770d00d2fd17","569802611c4dc823005426c7","56a65c82b3ffe00d00156eaf","56f01f88332da41700f24b74"],"project":"568fde81b700ce0d002f4b43","version":"568fde82b700ce0d002f4b46","__v":60,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-01-08T18:41:53.562Z","from_sync":false,"order":1,"slug":"commands","title":"Commands"},"user":"568fffce769f210d0013258f","updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-01-08T21:31:12.355Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":29,"body":"Navigate back or forward to the previous or next URL in the browser's history. 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.\n\n| | |\n|--- | --- |\n| **Returns** | the `window` object |\n| **Timeout** | `cy.go` will retry for the duration of the [pageLoadTimeout](https://on.cypress.io/guides/configuration#section-timeouts) or the duration of the `timeout` specified in the command's [options](#section-options).  |\n\n***\n\n# [cy.go( *direction* )](#section-direction-usage)\n\nNavigate back or forward to the URL in a specific direction (`back` or `forward`).\n\n***\n\n# [cy.go( *number* )](#section-number-usage)\n\nNavigate back or forward going to the URL within a specific history position (-1 goes back one page, 1 goes forward one page).\n\n***\n\n# Options\n\nPass in an options object to change the default behavior of `cy.go`.\n\n**cy.go( *direction*, *options* )**\n**cy.go( *number*, *options* )**\n\nOption | Default | Notes\n--- | --- | ---\n`timeout`      | [pageLoadTimeout](https://on.cypress.io/guides/configuration#section-timeouts) | Total time to retry the visit\n`log` | `true` | whether to display command in command log\n\n***\n\n# Direction Usage\n\n## Go back in browser's history\n\n[block:code]\n{\n    \"codes\": [\n        {\n            \"code\": \"cy.go(\\\"back\\\")   // equivalent to clicking back button\\n\",\n            \"language\": \"javascript\"\n        }\n    ]\n}\n[/block]\n\n***\n\n\n## Go forward in browser's history\n\n[block:code]\n{\n    \"codes\": [\n        {\n            \"code\": \"cy.go(\\\"forward\\\") // equivalent to clicking forward button\\n\",\n            \"language\": \"javascript\"\n        }\n    ]\n}\n[/block]\n\n***\n\n# Number Usage\n\n## Go back in browser's history\n\n[block:code]\n{\n    \"codes\": [\n        {\n            \"code\": \"cy.go(-1)       // equivalent to clicking back button\\n\",\n            \"language\": \"javascript\"\n        }\n    ]\n}\n[/block]\n\n***\n\n## Go forward in browser's history\n\n[block:code]\n{\n    \"codes\": [\n        {\n            \"code\": \"cy.go(1)        // equivalent to clicking forward button\\n\",\n            \"language\": \"javascript\"\n        }\n    ]\n}\n[/block]\n\n***\n\n# Command Log\n\n## Go back in browser's history\n\n[block:code]\n{\n    \"codes\": [\n        {\n            \"code\": \"cy\\n  .visit(\\\"http://localhost:8000/folders\\\")\\n  .go(\\\"back\\\")\\n\",\n            \"language\": \"javascript\"\n        }\n    ]\n}\n[/block]\n\nThe commands above will display in the command log as:\n\n![screen shot 2016-01-21 at 1 45 25 pm](https://cloud.githubusercontent.com/assets/1271364/12491029/c33087f0-c046-11e5-8475-4e6c35296085.png)\n\nWhen clicking on the `get` command within the command log, the console outputs the following:\n\n![screen shot 2016-01-21 at 1 46 02 pm](https://cloud.githubusercontent.com/assets/1271364/12491359/b22e569c-c048-11e5-8ec3-f46217a19fc1.png)\n\n***\n\n# Errors\n\n## cy.go() accepts only a string or number argument\n\n`cy.go()` specifically accepts the string arguments `back` or `forward` or a number argument to navigate to a specific position in the history.\n\n## cy.go() cannot accept '0'. The number must be greater or less than '0'.\n\nEnsure the number passed to `cy.go()` navigates forward or backward in history. For example, -1 goes back one page, 1 goes forward one page.\n\n***\n\n# Related\n\n- [visit](https://on.cypress.io/api/visit)","excerpt":"Navigate back or forward to previous or next URL in the browser's history","slug":"go","type":"basic","title":"go"}

go

Navigate back or forward to previous or next URL in the browser's history

Navigate back or forward to the previous or next URL in the browser's history. 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. | | | |--- | --- | | **Returns** | the `window` object | | **Timeout** | `cy.go` will retry for the duration of the [pageLoadTimeout](https://on.cypress.io/guides/configuration#section-timeouts) or the duration of the `timeout` specified in the command's [options](#section-options). | *** # [cy.go( *direction* )](#section-direction-usage) Navigate back or forward to the URL in a specific direction (`back` or `forward`). *** # [cy.go( *number* )](#section-number-usage) Navigate back or forward going to the URL within a specific history position (-1 goes back one page, 1 goes forward one page). *** # Options Pass in an options object to change the default behavior of `cy.go`. **cy.go( *direction*, *options* )** **cy.go( *number*, *options* )** Option | Default | Notes --- | --- | --- `timeout` | [pageLoadTimeout](https://on.cypress.io/guides/configuration#section-timeouts) | Total time to retry the visit `log` | `true` | whether to display command in command log *** # Direction Usage ## Go back in browser's history [block:code] { "codes": [ { "code": "cy.go(\"back\") // equivalent to clicking back button\n", "language": "javascript" } ] } [/block] *** ## Go forward in browser's history [block:code] { "codes": [ { "code": "cy.go(\"forward\") // equivalent to clicking forward button\n", "language": "javascript" } ] } [/block] *** # Number Usage ## Go back in browser's history [block:code] { "codes": [ { "code": "cy.go(-1) // equivalent to clicking back button\n", "language": "javascript" } ] } [/block] *** ## Go forward in browser's history [block:code] { "codes": [ { "code": "cy.go(1) // equivalent to clicking forward button\n", "language": "javascript" } ] } [/block] *** # Command Log ## Go back in browser's history [block:code] { "codes": [ { "code": "cy\n .visit(\"http://localhost:8000/folders\")\n .go(\"back\")\n", "language": "javascript" } ] } [/block] The commands above will display in the command log as: ![screen shot 2016-01-21 at 1 45 25 pm](https://cloud.githubusercontent.com/assets/1271364/12491029/c33087f0-c046-11e5-8475-4e6c35296085.png) When clicking on the `get` command within the command log, the console outputs the following: ![screen shot 2016-01-21 at 1 46 02 pm](https://cloud.githubusercontent.com/assets/1271364/12491359/b22e569c-c048-11e5-8ec3-f46217a19fc1.png) *** # Errors ## cy.go() accepts only a string or number argument `cy.go()` specifically accepts the string arguments `back` or `forward` or a number argument to navigate to a specific position in the history. ## cy.go() cannot accept '0'. The number must be greater or less than '0'. Ensure the number passed to `cy.go()` navigates forward or backward in history. For example, -1 goes back one page, 1 goes forward one page. *** # Related - [visit](https://on.cypress.io/api/visit)