Да, Cypress поддерживает возможность создания и повторного использования действий в вашем пользовательском интерфейсе, таких как вход в систему как пользователь.
Однако , Cypress также позволяет контролировать состояниебраузер мощнее , чем пользователь.
Например: я создаю тест, который «пользователь может войти в систему с действительным именем пользователя и паролем» - Cypress переходит на страницу входа, вводит в поле пользователя, вводит в поле пароля и нажимает «Журналв "кнопку. Шаблон объекта страницы позволит вам повторно использовать это действие в в каждом тесте, требующем входа пользователя в систему (большинство тестов)
Cypress поддерживает это;однако это медленнее, чем должно быть .Для перехода на страницу входа в систему, ввода информации, обработки ответа и перехода к тестируемой странице требуется значительное время. Вместо , API Cypress
позволяет следующее:
- использовать
cy.request()
для прямого попадания вашего сервера с учетными данными для входа.Для этого не требуется указывать состояние вашего приложения, не вводить поля, не нажимать кнопки или направлять страницу - Все файлы cookie, используемые вашим сайтом , автоматически устанавливаются , или вы можете установить localStorage используя ответ
- Создайте эту пользовательскую команду, вызывайте ее перед каждым тестом, и бум - вы сгенерировали состояние своего пользователя почти мгновенно, а главное - без хлопот