setCookie
Установить cookie браузера.
Синтаксис
cy.setCookie(name, value)
cy.setCookie(name, value, options)
Использование
Правильное использование
cy.setCookie('auth_key', '123key') // Set the 'auth_key' cookie to '123key'
Аргументы
name (Строка)
Имя cookie, которое нужно установить.
value (Строка)
Значение cookie, которое нужно установить.
options (Объект)
Передайте объект с параметрами, чтобы изменить стандартное поведение cy.setCookie().
| Параметр | По умолчанию | Описание |
|---|---|---|
log |
true |
Отображает команду в журнале команд |
domain |
window.location.hostname |
Домен, для которого cookie будет видимым |
expiry |
Через 20 лет | Когда cookie истекает, указано в секундах с момента эпохи Unix. |
httpOnly |
false |
Является ли cookie cookie только HTTP |
path |
/ |
Путь cookie |
secure |
false |
Является ли cookie безопасным cookie |
timeout |
responseTimeout |
Время ожидания cy.setCookie() для разрешения перед временным выходом из строя
|
sameSite |
undefined |
Значение SameSite для cookie. Если установлено, должно быть одним из lax, strict, или no_restriction. Передайте undefined для использования значения по умолчанию браузера. Примечание: no_restriction может быть использовано только если secure флаг установлен в true. |
Возвращаемое значение
cy.setCookie() возвращает объект cookie со следующими свойствами:
domain-
expiry(если указано) httpOnlynamepath-
sameSite(если указано) securevalue
Примеры
Имя-Значение
Установить cookie
cy.getCookies().should('be.empty')
cy.setCookie('session_id', '189jd09sufh33aaiidhf99d09')
cy.getCookie('session_id').should(
'have.property',
'value',
'189jd09sufh33aaiidhf99d09'
)
Правила
Требования
-
cy.setCookie()требует привязки кcy.
Утверждения
-
cy.setCookie()выполнит только те утверждения, которые вы привязали один раз, и не будет повторять.
Таймауты
-
cy.setCookie()не должен выходить за пределы таймаута.
Поскольку
cy.setCookie()является асинхронным, технически возможно временное ограничение при взаимодействии с внутренними API Cypress. Но для практических целей этого не должно происходить.
Журнал команд
cy.getCookies().should('be.empty')
cy.setCookie('fakeCookie1', '123ABC')
cy.getCookie('fakeCookie1').should('have.property', 'value', '123ABC')
Вышеперечисленные команды будут отображаться в журнале команд как:
При нажатии на setCookie в журнале команд, консоль выведет следующее:
История
| Версия | Изменения |
|---|---|
| 5.0.0 | Удален experimentalGetCookiesSameSite и свойство sameSite всегда доступно. |
| 4.3.0 | Добавлено свойство sameSite когда значение конфигурации experimentalGetCookiesSameSite равно true. |
| 0.16.0 |
Добавлена команда cy.setCookie() |
См. также
© 2017 Cypress.io
Licensed under the MIT License.
https://docs.cypress.io/api/commands/setcookie