В Cypress установите маркер в localStorage перед тестированием Я хочу войти в систему и установить токен localStorage на клиенте (в частности, jwt) Как я могу сделать это, используя cy.request, как предложено в документации Cypress? Ответ 1 Вот пример добавления команды cy.login() которую вы можете использовать в любом тесте Cypress, или положить в hook до beforeEach. Cypress.Commands.add('login', () => { cy.request({ method: 'POST', url: 'http://localhost:3000/api/users/login', body: { user: { email: '[email protected]', password: 'jakejake', } } }) .then((resp) => { window.localStorage.setItem('jwt', resp.body.user.token) }) }) Затем в вашем тесте: beforeEach(() => { cy.login() }) Ответ 2 Я потратил так много часов на это и, наконец, могу с уверенностью заключить, что он никогда не будет работать для запросов OAuth. Это может работать на локальном сервере, но не при получении токена для аутентификации.
Ответ 1 Вот пример добавления команды cy.login() которую вы можете использовать в любом тесте Cypress, или положить в hook до beforeEach. Cypress.Commands.add('login', () => { cy.request({ method: 'POST', url: 'http://localhost:3000/api/users/login', body: { user: { email: '[email protected]', password: 'jakejake', } } }) .then((resp) => { window.localStorage.setItem('jwt', resp.body.user.token) }) }) Затем в вашем тесте: beforeEach(() => { cy.login() })
Ответ 2 Я потратил так много часов на это и, наконец, могу с уверенностью заключить, что он никогда не будет работать для запросов OAuth. Это может работать на локальном сервере, но не при получении токена для аутентификации.