setCookie
Set a browser cookie.
Syntax​
cy.setCookie(name, value)
cy.setCookie(name, value, options)
Usage​
cy.setCookie('auth_key', '123key') // Set the 'auth_key' cookie to '123key'
Arguments​
The name of the cookie to set.
The value of the cookie to set.
Pass in an options object to change the default behavior of cy.setCookie().
| Option | Default | Description | 
|---|---|---|
| log | true | Displays the command in the Command log | 
| domain | window.location.hostname | The domain the cookie is visible to | 
| expiry | 20 years into the future | When the cookie expires, specified in seconds since Unix Epoch. | 
| httpOnly | false | Whether the cookie is an HTTP only cookie | 
| path | / | The cookie path | 
| secure | false | Whether the cookie is a secure cookie | 
| timeout | responseTimeout | Time to wait for cy.setCookie()to resolve before timing out | 
| sameSite | undefined | Cookie's SameSite value. If set, should be one of lax,strict, orno_restriction. Passundefinedto use the browser's default. Note:no_restrictioncan only be used if thesecureflag is set totrue. | 
Yields ​
cy.setCookie() yields a cookie object with the following properties:
- domain
- expiry(if specified)
- httpOnly
- name
- path
- sameSite(if specified)
- secure
- value
Examples​
Name Value​
Set a cookie​
cy.getCookies().should('be.empty')
cy.setCookie('session_id', '189jd09sufh33aaiidhf99d09')
cy.getCookie('session_id').should(
  'have.property',
  'value',
  '189jd09sufh33aaiidhf99d09'
)
Rules​
Requirements ​
- cy.setCookie()requires being chained off of- cy.
Assertions ​
- cy.setCookie()will only run assertions you have chained once, and will not retry.
Timeouts ​
- cy.setCookie()should never time out.
caution
Because cy.setCookie() 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('be.empty')
cy.setCookie('fakeCookie1', '123ABC')
cy.getCookie('fakeCookie1').should('have.property', 'value', '123ABC')
The commands above will display in the Command Log as:

When clicking on setCookie within the command log, the console outputs the
following:

History​
| Version | Changes | 
|---|---|
| 5.0.0 | Removed experimentalGetCookiesSameSiteand madesameSiteproperty always available. | 
| 4.3.0 | Added sameSiteproperty when the experimentalGetCookiesSameSite configuration value istrue. | 
| 0.16.0 | cy.setCookie()command added |