У меня есть простая спецификация, которая посещает сайт и регистрируется, как показано ниже:
it ('Visits the site as logged in user', function () {
cy.visit('http://example.com')
cy.get('#username').type(Cypress.env('username'))
cy.get('#password').type(Cypress.env('password'))
cy.get('#submit').click()
cy.contains('logout')
})
Это прекрасно работает, когда я запускаю его самостоятельно. Я делаю второй файл спецификации и копирую содержимое первого файла спецификации. Теперь у меня есть 2 спецификации, которые делают то же самое. Если я запускаю npx cypress open
и запускаю все спецификации, то обе спецификации запускаются успешно. Однако я делаю npx cypress run
, тогда вторая спецификация дает сбой, потому что куки или сеанс или что-то еще не было очищено, и когда сайт посещается, он уже вошел в систему, поэтому страница входа не отображается.
Из чегоЯ прочитал куки, и я предполагаю, что все остальное должно быть очищено между спецификациями. Разница между open
и run
также касается, поскольку я считаю, что они должны быть согласованы (обратите внимание, что использование параметра --headed
для запуска не меняет поведение для run
).
Я пытался выполнитьоба cy.clearCookies() and cy.clearLocalStorage()
перед тестами, но это ничего не меняет.
Кто-нибудь еще сталкивался с подобными проблемами и знает, как это исправить?