Подскажите общий набор фреймворков\библиотек для JS после JVM языков

Привет!
Автоматизировал долгое время на Kotlin+Selenide+TestNG+ qala-io/ datagen +Allure для репортов. Также, использовал RestAssured для RestAPI автоматизации, Appium для Mobile.

Подкажите аналоги на JS, пожалуйста. Прилетел проект, на котором ПО хочет ТОЛЬКО JS.
Начинать нужно, конечно же, сейчас и сразу. JS для меня совсем новый язык, поэтому нет своего набора удобных и провереных фреймворков\библиотек.

Приложение будет на Реакт, поэтому Протрактор необязателен, а я слышал, что чтобы Протрактор заставить работать без Ангуляра нужно сделать n-нное количество приседаний.
Нужно будет писать тесты для RestAPI и End-to-end тесты пока что.

Для End-to-end тестов хотелось бы что-то настолько же удобное, как Selenide.

Что выбрать: Mocha+Chai VS Jest? NightwatchJS VS Protractor VS WebdriverIO? Чем можно рандомизировать данные? Чем можно заменить Allure?
Что удобнее, с ВАШЕЙ точки зрения?

Огромное спасибо за любой совет\ответ.

1 лайк

Я бы посмотрел в сторону достаточно интересного на мой взгляд cypress

2 лайка

Окей, спасибо. А чем он отличается от Найтвотч или Протрактор?)

он работает без вебдрайвера, что несомненно является плюсом. Очень быстро бегает, активно развивается. Правда пока что работает только с хромом. Поддержка других браузеров планируется.

Я если честно не оч сильно в js автоматизации разбираюсь, но этот инструмент мне чем то больше понравился (наверное потому что нет вебрайвера =)).

Так же можешь послушать подкаст куа гильдии про js http://automation-remarks.com/podcast/blog/qa-guild-ep7.html

там в принципе вроде все инструменты, про которые ты спрашиваешь обсудили.

1 лайк

Как раз его и дослушиваю :slight_smile:
Найтвотч уже отбрасываю

Спасибо за ответ.

1 лайк

Пришел к Protractor+Protractor Beautiful Reporter+grunt+casual для е2е и Jasmine для RestAPI.

Привет. На всякий случай допишу, может пригодится кому.

UI пишу на testcafe. Устанавливается одной командой, запускается в куче браузеров из коробки, поддерживает последние возможности JS, ожидания/скриншоты/отчёты встроенные, умеет на мобильных вроде (не юзал). Можно поставить testcafe-live и разрабатывать с автоматическим перезапуском тестов. Я доволен. Правда опыта автоматизации у меня мало, но попёрло хорошо - никакого лишнего кода, чисто тесты.
Cypress смотрел, но мало. По ощущениям он какой-то сильно тяжёлый, хотя документация хорошая и развивается фреймворк семимильными шагами. С запуском в разных браузерах пока не очень у него.

API - мне хватает пока Mocha + Chai + ChaiHttp + Joi. Jasmine смотрел, но не пристально, почему-то mocha показалась ближе. Не смотри, что 2 основных фреймворка, они как влитые между собой. Mocha поддерживает asyns/await тоже, получается просто и читаемо. Сравнить, опять же, не с чем, к сожалению.

Генерация данных - faker
Allure вроде можно прикрутить, но я не запаривался пока.

1 лайк

Внезапно: всё переписал на cypress (правда там в основе Mocha).
И API и UI тесты теперь на нём крутятся.
Очень удобно разрабатывать (свой runner), прикольная дашборда (в браузере можно смотреть видосы и скрины по прохождению) и отличная документация, конечно.
Над поддержкой Firefox они работают. Будем надеяться доработают, хотя мне пока некритично.

1 лайк

Какова причина смены инструментов?