Просмотрел курс где описываю разные фреймворки - Selenide, Serenity, jbehave. Selenide - удобный и простой! Serenity - чуть сложнее, но я так понял что помащьнее и отчеты красивые. Jbehave - пишеш человеческим языком, но уж больно очень много описывать, слишком все запутано - зачем это вообще, зачем его придумали!? Каким фреймворком пользуетесь вы, и какие преимущества одного над другим. С каким лучше сесть разобраться и писать на нем тесты! Хочется услышать опытное мнение! Спасибо)
Миллион похожих тем.
Используйте тот, который нравится вам.
Фреймворки, которые вы перечислили, решают разные проблемы. Типичный тестовый фреймворк состоит из нескольких вещей:
- test runner (компонент, который определяет, как тесты будут организовываться и запускаться);
- компоненты для работы с приложением через API (REST/SOAP), или web UI (браузеры), возможно что-то более специфическое (базы данных, десктоп GUI итд);
- составление репортов;
- другие компоненты
Соотв. jbehave/cucumber предоставляют только п.1, ну и возможно какой-никакой репортинг. Для работы с браузером нужно подключать дополнительные компоненты.
Selenide дает вам только п.2 (обертку над webdriver для работы с браузером).
Serenity предоставляет все из вышеперечисленного. Для работы с webUI и репортов там своя имплементация, для всего остального есть интеграции (serenity-cucumber, serenity-jbehave, serenity-junit, serenity-rest-assured и прочее)
Это всё теория. А вот прагматичный взгляд:
- Test runner - это JUnit или TestNG, больше ничего не нужно.
- Selenide - отлично, берите.
- репорты составляет и Junit, и TestNG, и Jenkins. Большего не нужно. (а если ну очень хочется красоты, берите Allure)
Одним словом, берите Selenide и/или Allure, но точно не Serenity и вообще не BDD. Они только всё усложняют и не приносят никакой пользы.