Spec-Zone.ru › Cypress

getCookies

Получение всех файлов cookie браузера.

Синтаксис

cy.getCookies()
cy.getCookies(options)

Использование

Правильное использование

cy.getCookies() // Get all cookies

Аргументы

options (Объект)

Передайте объект options, чтобы изменить стандартное поведение cy.getCookies().

Опция Значение по умолчанию Описание
log true Отображает команду в журнале команд
timeout responseTimeout Время ожидания cy.getCookies() для разрешения перед выходом из строя из-за истечения времени

Возвращаемое значение

cy.getCookies() возвращает массив объектов cookie. Каждый объект cookie имеет следующие свойства:

  • domain
  • expiry (если указано)
  • httpOnly
  • name
  • path
  • sameSite (если указано)
  • secure
  • value

Примеры

Получение файлов cookie

Получение файлов cookie после входа в систему

В этом примере при первом входе в систему сервер возвращает нам файл cookie сессии.

// assume we just logged in
cy.contains('Login').click()
cy.url().should('include', 'profile')
cy.getCookies()
  .should('have.length', 1)
  .then((cookies) => {
    expect(cookies[0]).to.have.property('name', 'session_id')
  })

Правила

Требования

  • cy.getCookies() должно быть привязано к cy.

Утверждения

  • cy.getCookies() будет выполнять утверждения, которые вы привязали только один раз и не будет повторно выполнять.

Таймауты

  • cy.getCookies() не должен выходить из строя из-за истечения времени.

Поскольку cy.getCookies() является асинхронным, теоретически возможно, что произойдёт выход из строя из-за истечения времени во время общения с внутренними API автоматизации Cypress. Но на практике это практически никогда не происходит.

Журнал команд

cy.getCookies()
  .should('have.length', 1)
  .then((cookies) => {
    expect(cookies[0]).to.have.property('name', 'fakeCookie1')
    expect(cookies[0]).to.have.property('value', '123ABC')
    expect(cookies[0]).to.have.property('domain')
    expect(cookies[0]).to.have.property('httpOnly')
    expect(cookies[0]).to.have.property('path')
    expect(cookies[0]).to.have.property('secure')
  })

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

Command Log getcookies

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

Console Log getcookies

История

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

См. также

  • cy.clearCookie()
  • cy.clearCookies()
  • Cypress API для файлов cookie
  • cy.getCookie()
  • cy.setCookie()

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

Spec-Zone.ru

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