Используйте токен для входа в систему - Cypress не перенаправляет - PullRequest
1 голос
/ 10 июля 2019

Cypress регистрирует правильно, используя метод POST, но не перенаправляет на веб-страницу после входа в систему. Остается на странице входа. Даже если я заставлю его с помощью "cy.visit ('web /')" остается на логине "( 'Кнопка') cy.get" кнопка поиска на странице входа, а не страница, которая должна отображаться после входа в систему

commands.js

Cypress.Commands.add('login', (username, password) => {

    cy.request({
        method: 'POST',
        url: '/admin-api/login',
        headers: {
            "Content-Type": "application/json"
        },
        body: {
            username: Cypress.env('correctUsername'),
            password: Cypress.env('correctPassword'),
        },
        retryOnStatusCodeFailure: 463
    })
    .then((resp) => {
        window.localStorage.setItem('jwt', resp.body.user.token)
    })
})

describe('login using token', () => {

    beforeEach(() => {
        cy.login()
    })

    it('visit web', () => {
        cy.visit('web/')
        cy.get('button')
    })
})

1 Ответ

0 голосов
/ 24 июля 2019

Я проверил токен из куки, который я получаю, используя метод выше, и он активен - мне удалось использовать его на этом сайте, используя Почтальон.Однако описанная проблема все еще существует.

Cypress.Commands.add('login', () => {
    Cypress.log({
      name: 'loginViaAuth0'
    })


return cy.request({
    method: 'POST',
            url: '/admin-api/login',
            headers: {
                "Content-Type": "application/json"
            },
            body: {
                username: Cypress.env('correctUsername'),
                password: Cypress.env('correctPassword'),
                disposableToken: 1111,
            },
            retryOnStatusCodeFailure: 463
         })
         .then((resp) => {
            document.cookie = `AuthUser=${resp.body.accessToken}` 
         })
})

Сам тест:

describe('login using token/cookie', () => {

        it('should successfully log into our app', () => {
          cy.login()
            .then(() => {
              cy.visit('web')
            })
            debugger
        });
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...