Не давно начал разбираться в автоматизации и не совсем понятно, с помощью чего было бы более целесообразно писать автоматизированные тест кейсы для веб сервисов. Необходимы советы бывалых тестировщиков, которые знаю все ЗА и ПРОТИВ.
Java + selenium или JS + selenium?
#1
Отправлено 06 июня 2017 - 12:16
#2
Отправлено 06 июня 2017 - 14:07
Python + Selenium
Хотя если для вебсервисов, то Python + Requests
Но если выбор строго между приведенными двумя вариантами, то первый.
#3
Отправлено 06 июня 2017 - 17:41
Подумай что ты знаешь лучше Java или JS? Такой язык и выбирай, мне нравится JS.
#4
Отправлено 07 июня 2017 - 07:50
Ты затронул холиварную тему, и по хорошему, отвечать на неё должны те, кто имел опыт в обоих случаях.
Что мне нравится в Java + Selemium:
а) есть куча фреймворков, которые позволяют писать более читабельные тесты - Selenide, Htmlelements, Allure(для отчетов), jdi
б)если надо где-то кликнуть на какой-нибудь флеш или появится виндовс - окно(ну надо что-то ЭЦП подписать) есть Sikuli
в)Java8, где добавили крутое API для работы с датами, также лямбды, которые тоже упрощают код. Также куча других методов, типо removeIf и т.п.
По поводу JS+Selemium, мне сложно что-то сказать, т.к. у меня почти нет опыта. Знаю что для сайтов на angular достаточно модно использовать protractor и как я понимаю получается весьма неплохо. Но, повторюсь,
сказать что-то определенное, мне сложно.
#5
Отправлено 07 июня 2017 - 08:13
Ты затронул холиварную тему, и по хорошему, отвечать на неё должны те, кто имел опыт в обоих случаях.
Что мне нравится в Java + Selemium:
а) есть куча фреймворков, которые позволяют писать более читабельные тесты - Selenide, Htmlelements, Allure(для отчетов), jdi
б)если надо где-то кликнуть на какой-нибудь флеш или появится виндовс - окно(ну надо что-то ЭЦП подписать) есть Sikuli
в)Java8, где добавили крутое API для работы с датами, также лямбды, которые тоже упрощают код. Также куча других методов, типо removeIf и т.п.
По поводу JS+Selemium, мне сложно что-то сказать, т.к. у меня почти нет опыта. Знаю что для сайтов на angular достаточно модно использовать protractor и как я понимаю получается весьма неплохо. Но, повторюсь,
сказать что-то определенное, мне сложно.
Allure 2 тоже прикручивается к JS фреймворкам.
б)если надо где-то кликнуть на какой-нибудь флеш или появится виндовс - switch тебе поможет везде.
Java8, где добавили крутое API для работы с датами, также лямбды, которые тоже упрощают код. Также куча других методов, типо removeIf и т.п.
лямбды часто есть корень зла в тестах и посему не рекомендуются к использованию.
Да, у меня нету опыта Java + Selenium, но есть Protractor+Selenium и NightwatchJS+Selenium+Cucumber, последний больше нравится. И скажу, что нет таких задач, которых бы я не смог решить, уж простите. Если есть явные проблемы, то есть милллион нодовских модулей, где от Вас будет требоваться их подкючить и имплеменировать их по доступнонаписанному хелпу.
На счет читаемости, паттерны проектирования тестов знаем ведь? Если их юзать то тесты очень даже преочень становятся.
Я свое ИМХО сказал)))
#6
Отправлено 07 июня 2017 - 09:07
А я говорил, что тема холиварная ))))
Allure 2 тоже прикручивается к JS фреймворкам.
ок, это круто. Но Selenide нету под JS - это минус, Htmlelements есть под C# - на счет JS не знаю. Про switch - не знаю
лямбды часто есть корень зла в тестах и посему не рекомендуются к использованию.
это неправда,например, Stream API + лямбды очень помогают при работе с коллекциями
И скажу, что нет таких задач, которых бы я не смог решить, уж простите
ну с этим, конечно, никто спорить не будет
#7
Отправлено 13 июня 2017 - 16:32
Можно исходить из того, что работа должна приносить удовольствие.
Продвинутые инструменты есть и для Java, и для JS. Выбирайте язык, на котором писать приятнее.
Сам, в основном, писал на Java, поэтому "за" и "против" озвучить не могу. Но могу посоветовать посмотреть последний Selenium Camp (2017), там есть пара довольно интересных выступлений по поводу особенностей тестирования на JS (1, 2).
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных