getAllCookies
Get all browser cookies.
Syntax​
cy.getAllCookies()
cy.getAllCookies(options)
Usage​
Correct Usage
cy.getAllCookies() // Get all cookies
Arguments​
options (Object)
Pass in an options object to change the default behavior of
cy.getAllCookies().
| Option | Default | Description | 
|---|---|---|
| log | true | Displays the command in the Command log | 
| timeout | responseTimeout | Time to wait for cy.getAllCookies()to resolve before timing out | 
Yields ​
cy.getAllCookies() yields an array of cookie objects. Each cookie object has
the following properties:
- domain: (String)
- expiry: (Number) (if specified)
- hostOnly: (Boolean) (if specified)
- httpOnly: (Boolean)
- name: (String)
- path: (String)
- sameSite: (String) (if specified)
- secure: (Boolean)
- value: (String)
cy.getAllCookies() is not a query. It will not update the returned list if
further cookies are added after it initially executes.
Examples​
Get Cookies​
Get cookies after logging in​
In this example, we log in through an identity provider which sets a cookie and redirects back to our site, which sets a session cookie.
cy.contains('Log in').click()
cy.origin('https://example.cypress.io', () => {
  cy.get('[type=password]').type('*****')
  cy.contains('Log in').click()
})
cy.url().should('include', 'profile')
cy.getAllCookies()
  .should('have.length', 2)
  .then((cookies) => {
    expect(cookies[0]).to.have.property('name', 'identity_session_id')
    expect(cookies[1]).to.have.property('name', 'session_id')
  })
Rules​
Requirements ​
- cy.getAllCookies()requires being chained off of- cy.
Assertions ​
- cy.getAllCookies()will only run assertions you have chained once, and will not retry.
Timeouts ​
- cy.getAllCookies()should never time out.
caution
Because cy.getAllCookies() 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.