всем утра
ребят, интересует мнение тех кто работал и с Selenium, и с Cypress
например, стоит задача - поднять автоматизацию UI с нуля, ЯП - JS, что лучше выбрать в данном случае?
Selenium:
pros:
- имитация действий пользователя
- большое комьюнити
- работа с несколькими вкладками
- работа с iframe
- поддерживает кроссбраузерное тестирование
- запуск в докере (Selenoid)
- параллельный запуск тестов
cons:
- сложный сетап
- нет отчетов из коробки, надо прикручивать аллюр
- боли с ожиданиями
- костыли если страница или элемент не успевает дорендериться
Cypress:
pros:
- all-in-one фреймфорк - тест раннер, ассерты, моки, отчеты
- ожидания из коробки
- скорость (в этом же и минус - запуск внутри браузера)
- поддерживает кроссбраузерное тестирвоание
cons:
- запуск в браузере
- параллельный запуск нескольких браузеров на одной VM не рекомендуется (или через плагин sorry-cypress)
- условно-бесплатный (есть ограничения по пользователям, 500 тест ранов в месяц)
- сложности в работе с iframe, лимитированная их поддержка
- не поддерживает xpath локаторы (?)
- поддерживает только одну табу
- скролл, ховер и загрузка файлов не поддерживаются
- домен в нескольких урлах в тесте должен быть одинакового происхождения
У меня пока сложилось мнение что сайпресс это тула для разработчиков чтобы быстро протестировать фичу
для E2E же подходит селениум, но тут у меня глаз замылен так как только им пользовался