#cookies #cypress
Вопрос:
Я столкнулся со странным поведением при выполнении Cypress
тестов. Похоже cy.visit()
, что не удается отправить файлы cookie с запросом.
Прежде всего, да, в cypress/supports/index.js
я установил:
Cypress.Cookies.defaults({
preserve: 'token'
})
И в своем тесте я делаю следующее:
it('test', () => {
cy.logIn()
cy.getCookie('token').then(console.log)
cy.visit('/')
// verify that the user is redirected to /home, which it isn't...
})
Чтобы войти в систему пользователя, я запускаю свою пользовательскую logIn()
команду, которая успешно регистрирует пользователя. После этого приложение устанавливает файл cookie, названный token
маркером сеанса. Затем я console.log
успешно обработал файл cookie непосредственно перед звонком cy.visit()
. Однако мой сервер получает запрос без файлов cookie и, следовательно, не выполняет перенаправление, как ожидалось…
Кто-нибудь сталкивался с чем-то подобным? Есть какие-нибудь идеи, что может произойти?
Ответ №1:
Я боролся с той же проблемой. Мое печенье было помечено secure: true
флажком. После установки этого значения secure: false
(только в среде тестирования) файл cookie был успешно отправлен в Cypress.