Я использую Cypress для тестирования приложения Angular, которое просматривает список врачей.Контроллер сохраняет текущую страницу в $ sessionStorage.pagination.Если я не могу явно очистить хранилище сеанса между тестами, тесты, которые следуют моему тесту «должны перейти на следующую страницу», не пройдут.Если я явно очищаю хранилище сеанса между тестами, все работает как положено.Это противоречит тому, что я здесь прочитал (https://github.com/cypress-io/cypress/issues/686), который, кажется, говорит о том, что хранилище сеанса автоматически очищается между тестами.
Это ошибка в Cypress? Или я неправильно понимаю, что имеют в виду разработчики Cypress?очистить хранилище сессии между тестами?
describe('Simple Search Results Page Tests', function () {
beforeEach(function(){
cy.server();
// routes omitted for brevity
// Changing pages breaks tests if I visit page under test like this
cy.visit('http://localhost:9001/pageUnderTest');
// tests work as expected if I visit page under test like this
/*
cy.visit('http://localhost:9001/pageUnderTest',
{onBeforeLoad: (win) => { win.sessionStorage.clear()}
});
/*
});
it('should search Best Match', function(){
cy.get('[data-cy=first-name]').first().should('have.text', 'Michael')
.get('[data-cy=last-name]').first().should('have.text', 'Emiley')
});
it('should go to the next page', function(){
cy.get('[data-cy="page-number"]').click('right')
});
// this test is broken if session storage not explicitly re-set.
it('should search Best Match (again)', function(){
cy.get('[data-cy=first-name]').first().should('have.text', 'Michael')
.get('[data-cy=last-name]').first().should('have.text', 'Emiley')
});
});