getCookies
Get all of the browser cookies.
Syntax​
cy.getCookies()
cy.getCookies(options)
Usage​
cy.getCookies() // Get all cookies
Arguments​
Pass in an options object to change the default behavior of cy.getCookies()
.
Option | Default | Description |
---|---|---|
log | true | Displays the command in the Command log |
timeout | responseTimeout | Time to wait for cy.getCookies() to resolve before timing out |
Yields ​
cy.getCookies()
yields an array of cookie objects. Each cookie object has the
following properties:
domain
expiry
(if specified)httpOnly
name
path
sameSite
(if specified)secure
value
Examples​
Get Cookies​
Get cookies after logging in​
In this example, on first login our server sends us back a session cookie.
// assume we just logged in
cy.contains('Login').click()
cy.url().should('include', 'profile')
cy.getCookies()
.should('have.length', 1)
.then((cookies) => {
expect(cookies[0]).to.have.property('name', 'session_id')
})
Rules​
Requirements ​
cy.getCookies()
requires being chained off ofcy
.
Assertions ​
cy.getCookies()
will only run assertions you have chained once, and will not retry.
Timeouts ​
cy.getCookies()
should never time out.
caution
Because cy.getCookies()
is asynchronous it is technically possible for there
to be a timeout while talking to the internal Cypress automation APIs. But for
practical purposes it should never happen.
Command Log​
cy.getCookies()
.should('have.length', 1)
.then((cookies) => {
expect(cookies[0]).to.have.property('name', 'fakeCookie1')
expect(cookies[0]).to.have.property('value', '123ABC')
expect(cookies[0]).to.have.property('domain')
expect(cookies[0]).to.have.property('httpOnly')
expect(cookies[0]).to.have.property('path')
expect(cookies[0]).to.have.property('secure')
})
The commands above will display in the Command Log as:
When clicking on getCookies
within the command log, the console outputs the
following:
History​
Version | Changes |
---|---|
5.0.0 | Removed experimentalGetCookiesSameSite and made sameSite property always available. |
4.3.0 | Added sameSite property when the experimentalGetCookiesSameSite configuration value is true . |