Cypress не сохраняет мою аутентификацию cook ie при многократном использовании посещения () в одном тесте - PullRequest
0 голосов
/ 20 февраля 2020

Таким образом, часть моих тестов Cypress E2E подтверждает, что определенные URL-адреса полностью ограничены, поэтому пользователи без правильной роли не могут получить к ним доступ. С этой целью я написал сценарий с несколькими операторами посещений:

beforeEach(() => {
    cy.visit(Cypress.env(HOST_URL));

});


it('cannot scan without scan role', () => {
    cy.login(standard.userName, password);
    cy.get('#scanDirectoryLink_text')
        .should('not.exist');
    cy.visit(`${Cypress.env(HOST_URL)}/scanning`);
    cy.url()
        .should('not.include', 'scanning')
        .should('not.include', 'login');
});

В этом сценарии я проверяю, что ссылка на страницу не видна и что она непосредственно ведет по URL не удастся. Моя проблема в том, что когда я использую вторую команду cy.visit (), она возвращает меня на страницу входа. Так что технически это не доходит до страницы, но причина этого не в том, что я намеревался.

Я не хочу сохранять свои куки между тестами, но я надеюсь сохранить их в течение нескольких дней. .visit () вызывает, чтобы я не потерял свою аутентификацию. Или еще есть лучший способ программно перейти на новый URL на моем сайте?

Спасибо.

1 Ответ

0 голосов
/ 20 февраля 2020

Попробуйте добавить это в support / index. js

Cypress.LocalStorage.clear = function (keys, ls, rs) {
  //keep localStorage
  return;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...