Но готовь сани летом, а шампура - зимой. Повангую что в скором времени очень много селениум тестов будет писаться именно на JS. Даже если сравнить 2016 и 2017 год - то прирос JS в автоматизации неоспорим.
Да выборка не широкая, но все равно показательная и все как всегда “все зависит от …”. Не нужно быть слепым и точно надо думать своей головой, когда принимаешь решения исходя из контекста.
Selenium тесты уже давно не просто клик по кнопкам. Сейчас есть отдельно front и back проекты в рамках одного проекта.
И если строить фигуру тестирования фронта, то просто java +selenium+testng(junit) не обойтись, а нужен ещё proxy + mocks
Фронт требует проверки правильно сформированной endpoint и payload, не все можно проверить unit tests, поэтому должны быть функциональные тест и тут часто моки надо использовать. Проблемный бек - моки. Плюс сами фронты могут писать тесты
Зачем это делать , если инструменты на js позволяют это делать из коробки?
Если говорить об апи, то тоже набор инструментов не плохой, есть и json-схемы, и моки. Если ts, то типипзацию проверяй на уровне интерфейсов
Java - Selenide - TestNg/Junit5 - Allure - Selenoid - рулят!) если подключить еще к этому Groovy или Kotlin - то жизнь начинает становиться сладкой песней)! Ничего лучше пока нету в плане быстроты написания кода, работы большинства фич из коробки, гибкости, кросбраузерности и много другого, так что рекомендую всем - это “маст-хев для автоматизатора”
На счет JavaScript - не могу сказать ничего плохого, - мне наоборот даже больше нравится JavaScript после Java тем что конфигурируя и настраивая сборку проекта и библтотеки через npm я избавляюсь от огромного количества проблем на подобие сборщиков Maven и Gradle … не надо ничего компилировать, собирать по пол. часа… Все очень просто настраивается в файлике package.json и быстро запускается… Все нормальные selenium based фрейфмоки (например protractor, webdriberIO)поддерживают параллелизацию из коробки… Единственные сложности - в изучении самого языка и в написании асинхронного кода, - хотя если подметить то в 80% случаев на данный момент фремворки нам позволяют писать синхронный код… Поэтому не бойтесь и юзайте…
Вывод - Java - крепкий стандарт и классика - JavaScript - дает больше фреймворков и технологий гибкости, и быстроты + появляются решения которые не используют selenium вообще, - по сути он наступает Java на пятки… Это пока два самых актуальных языка в автоматизации - следом за ними преуспевает Python, там вообще все просто…