目前,我Cypress.Cookies.defaults({ preserve: 'uniqueId' });在赛普拉斯测试中使用在多个测试中保留唯一的 ID。然而,我最近将 Cypress 更新到了 12.9.0 版本,发现它Cypress.Cookies.defaults() 在 12.0.0 版本中已被弃用并被 cy.session() 取代。
如何使用 cy.session() 保留单个唯一 ID?
小智 7
cy.session()您在钩子中使用beforeEach()。在那里设置的任何 cookie 都将在测试中保留。
cy.session()的setup函数负责设置cookie原始值。
安装程序仅调用一次,后续调用 cy.session() 将从缓存中恢复 cookie。
beforeEach(() => {
cy.session('cookies', () => {
cy.setCookie('session_id', '189jd09sufh33aaiidhf99d09')
})
})
it('Test1', () => {
cy.getCookie('session_id')
.should('have.property', 'value', '189jd09sufh33aaiidhf99d09')
})
it('Test2', () => {
cy.getCookie('session_id')
.should('have.property', 'value', '189jd09sufh33aaiidhf99d09')
})
Run Code Online (Sandbox Code Playgroud)