Cookies 如何在Cypress测试中设置cookie?

Cookies 如何在Cypress测试中设置cookie?,cookies,e2e-testing,cypress,Cookies,E2e Testing,Cypress,来自Cypress文档的示例无法正常工作: cy.getCookies().should('be.empty'); cy.setCookie('session_id', '189jd09sufh33aaiidhf99d09'); cy.getCookie('session_id').should('have.property', 'value', '189jd09sufh33aaiidhf99d09'); 每次我尝试设置cookie(),它似乎都会毫无问题地进行设置,但在调用getCookie

来自Cypress文档的示例无法正常工作:

cy.getCookies().should('be.empty');
cy.setCookie('session_id', '189jd09sufh33aaiidhf99d09');
cy.getCookie('session_id').should('have.property', 'value', '189jd09sufh33aaiidhf99d09');
每次我尝试设置cookie(),它似乎都会毫无问题地进行设置,但在调用getCookies()时总是返回此值:


这里有我遗漏的东西吗?

您应该使用
cy.getCookies()
而不带参数。该函数返回您拥有的cookie数组。比你能做的更多:

cy.getCookies().should('have.length', 1).then((cookies) => {
  expect(cookies[0]).to.have.property('session_id', '189jd09sufh33aaiidhf99d09')
})

看起来这与Cypress的V3.1.2有关,并已在其中进行了修补。世界又恢复正常了。

我想答案在文档中:
cy.getCookies().should('have.length', 1).then((cookies) => {
  expect(cookies[0]).to.have.property('session_id', '189jd09sufh33aaiidhf99d09')
})