Skip to main content

Cypress getCookies Command

Cypress get cookies command will get all the browser cookies. It yields an array of cookie objects.

Syntax

In options, you can specify two values:

cy.getCookies()
cy.getCookies(options)
  • log: to display the commands in the command log. The default value is true
  • timeout: time to wait for the get Cookies command to resolve before timing out. The default value is responseTimeout 

Properties of Cookie Objects

Each cookie object has the following properties:

  1. domain
  2. expiry (if specified)
  3. httpOnly
  4. name
  5. path
  6. sameSite (if specified)
  7. secure
  8. value

Rules

  • cy.getCookies() requires being chained off with cy.
  • cy.getCookies() will only run assertions you have chained once and will not retry.
  • cy.getCookies() should never time out practically. However, It is technically possible for there to be a timeout while talking to the internal Cypress automation APIs because this command is asynchronous. 

Examples

Demo Link: https://www.programsbuzz.com/user/login

it.only('Get Cookies Demo', () => {
        cy.visit('https://www.programsbuzz.com/user/login')
        cy.getCookies()
            // Verify Number of elements in cookie are 5
            .should('have.length', 5)
            .then((cookies) => {
                // Verify first eleement contains secure and httpOnly propery
                expect(cookies[0]).to.have.property('secure')
                expect(cookies[0]).to.have.property('httpOnly')
                // Verify 2nd cookie element domain property contains value .programsbuzz
                expect(cookies[1]).to.have.property(
                    'domain',
                    '.programsbuzz.com'
                )
            })
    })

Output

Cypress getCookies Command

Video Tutorial: Cypress get Cookies Command

Tags
Submitted by tgoswami on May 23, 2022

Tarun has 11+ years of experience in Quality Assurance in different domains like Banking, E-commerce, Health and Education.

About

At ProgramsBuzz, you can learn, share and grow with millions of techie around the world from different domain like Data Science, Software Development, QA and Digital Marketing. You can ask doubt and get the answer for your queries from our experts.