Тестирование UI web приложения. Нужен совет

pytest
framework
webdriver
java
angularjs
python
Теги: #<Tag:0x00007fedc75a0840> #<Tag:0x00007fedc75a0520> #<Tag:0x00007fedc75a02f0> #<Tag:0x00007fedc75a0138> #<Tag:0x00007fedc75abf88> #<Tag:0x00007fedc75abda8>

(Алексей) #21

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

Просто вот учитывая то, что у меня есть опыт и на Ruby и на Java то начав писать на Джаве вы вначале будете невероятно удивляться почему там все реализуется так сложно, в отличие от Рубей.

Ну и если вы не будете юзать что-то типа Selenide то прийдется писать очень много кода, который будет казаться избыточным ну и будет нехватать синтаксического сахара Руби.

Из плюсов Java, которые я для себя нашел, возможность использования автодополнения при вызове переменных (элементов) из Page Object-ов)

Ну а там конечно решайте сами :slight_smile:


(Yury) #22

Поясните, пожалуйста, на примере, что имели в виду? О каком автодополнении речь?


(Maxim Andryushchenkov) #23

OMG, ну и плюс))


(Алексей) #24

Ну вот так) Правда, кроме этого не вижу ни одного плюса.
Любопытно было бы узнать о таковых в вашем случае, если они имеются)
Если не ошибаюсь у вас тоже есть опыт автоматизации на руби.


(Алексей) #25

Ну типа я хочу вызвать элемент находящийся на определенной странице - page_object. - вот здесь после точнки Java IDE мне предложит на выбор все переменные находящиеся внутри класса PageObject в джаве я могу это сделать.
В Ruby же нет.

Для меня это в разы ускоряло скорость написания тестов на джаве, на рубях же приходится банально копипастить переменные.

Я забыл написать, что насколько я помню эта проблема существует только в Rubymine IDE и связана толи с Capybara framework, толи с динамической типизацией, в блокното-подобных редакторах такой вызов возможен.


(Maxim Andryushchenkov) #26

имхо, тут вообще не в языке дело а в конкретной IDE, пайчарм и рубимайн умеют подсказывать все что можно, если вы не видите подсказок - вы не указали явно экземпляр класса. Бывает такое что пайчарм например не видит методы для фикстуры пайтеста, которая возвращает страницу как стенд. Ну да, пайчарм и не сможет уследить за всеми магиями фреймворков, иначе бы он жрал всю оперативу на мониторинг


(Алексей) #27

Да, я знаю и я написал об этом выше:

“проблема существует только в Rubymine IDE и связана толи с Capybara framework, толи с динамической типизацией, в блокното-подобных редакторах такой вызов возможен”

Ну и вот один из ответов на Stackoverflow https://stackoverflow.com/questions/24571398/code-complete-siteprisms-elements-in-rubymine

Ну и хотелось бы услышать все же ваше мнение о плюсах и минусах.


(Павел Сенин) #28

Согласен. Джаву надо брать, раз бэк, т. е. бизнес-логика на java. Получится разработчиков привлечь к автоматизации и сделать очень качественный и полезный фреймворк. Можно будет юзать готовые доменные классы и методы у себя в тестах. Заодно научитесь нормальному ООП без синтаксического сахара. Тем более для джава куча библиотек, которые лишний код могут “прятать”. Например Lombok, Jackson. И Больше всего готовых инструментов автоматизации на Java.


(Rspec, cucumber, pytrat) #29

Спасибо всем ответившим.
В общем решили работать в Java+TestNG на фрейморке Спринга. В общем переход с руби на джава дается совсем не так легко, как я думал.


(Dmytro Kryshtopenko) #30
  1. Пишите свой собственный экзекьютор
  2. Переходите на Scala, потом спасибо скажите
  3. Откажитесь от JUnit-оподобной фигни. Гиркин код (от огурца) - это максимум.