Get all of the browser cookies.
Syntax
cy.getCookies() cy.getCookies(options)
Usage
Correct Usage
cy.getCookies() // Get all cookies
Arguments
options (Object)
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've chained once, and will not retry.
Timeouts
cy.getCookies()
should never time out.
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 . |