tgoop.com/testerlib/3615
Create:
Last Update:
Last Update:
Cypress позволяет сохранять и восстанавливать сессию (cookies, localStorage, sessionStorage) при помощи команды cy.session()
, чтобы логин не выполнялся перед каждым it. Это ускоряет тесты и делает их стабильнее.
Что еще полезного:
Как настроить:
beforeEach(() => {
cy.session(['qa@example.com', '123456'], () => {
cy.visit('/login')
cy.get('input[name="email"]').type('qa@example.com')
cy.get('input[name="password"]').type('123456')
cy.get('button[type="submit"]').click()
cy.url().should('contain', '/dashboard')
}, {
cacheAcrossSpecs: false
})
cy.visit('/dashboard')
})
cy.session()
— кэширует сессию по идентификатору (массив или строка)cy.session()
обязательно добавляйте cy.visit()
, чтобы перейти на нужную страницу — Используйте
cacheAcrossSpecs: true
, чтобы сессия сохранялась между spec-файлами при запуске cypress run --browser electron
(но могут быть нюансы с Chrome)— Для валидации сессии можно добавить
validate()
опцию: при неуспехе — сессия пересоздаётся— Cypress.session API позволяет отслеживать и очищать, если необходимо
#буст