Spec-Zone.ru › Cypress

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 (если указано)
  • httpOnly
  • name
  • path
  • sameSite (если указано)
  • secure
  • value

Примеры

Имя-Значение

Установить 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')

Вышеперечисленные команды будут отображаться в журнале команд как:

Command Log setcookie

При нажатии на setCookie в журнале команд, консоль выведет следующее:

Console Log setcookie

История

Версия Изменения
5.0.0 Удален experimentalGetCookiesSameSite и свойство sameSite всегда доступно.
4.3.0 Добавлено свойство sameSite когда значение конфигурации experimentalGetCookiesSameSite равно true.
0.16.0 Добавлена команда cy.setCookie()

См. также

  • cy.clearCookie()
  • cy.clearCookies()
  • Cypress API для работы с cookie
  • cy.getCookie()
  • cy.getCookies()

© 2017 Cypress.io
Licensed under the MIT License.
https://docs.cypress.io/api/commands/setcookie

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API