Изучение WebDriver + Ruby.

webdriver
ruby
education
Теги: #<Tag:0x00007fedbc50d7f8> #<Tag:0x00007fedbc50d6b8> #<Tag:0x00007fedbc50d578>

(Sergiy Panchenko) #1

Добрый вечер всем.

Вот уже около месяца в свободное время изучаю Вебдрайвер с Джавой.

На днях руководство анонсировало новый проект, который будет разрабатываться на Руби. Хотелка руководства, чтобы тесты писались тоже на Руби. Проблема в том, что ничего путёвого по связке Вебдрайвера с Руби не удалось нагуглить в то время в то время, как на Джаве два замечательных туториала и купленный на юдеми акционный курс индуса, к акценту которого уже практически привык.

Если кто-нибудь может подсказать что-то годное почитать/посмотреть, буду очень признателен. Спасибо за внимание.


(Mykhailo Poliarush) #2

https://seleniumguidebook.com/


(Sergiy Panchenko) #3

Спасибо, Михаил. Цены там, конечно, по нынешнему курсу слегка кусаются. Кто-нибудь пользовался?


(Mykhailo Poliarush) #4

Нет, не проходил, ничего сказать. А цены то обычные, просто ситуация другая. Но как говориться самый лучший вклад - это вклад в свое развитие!


(Sergiy Panchenko) #5

Абсолютно с Вами согласен. Но всё же пока подожду, возможно, появятся отзывы по сабжу от форумчан или альтернативные варианты. Сумма, конечно, посильная, но хотелось бы быть уверенным, что продукт стоящий.


(sidelnikovmike) #6

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

По поводу вопроса:
Первое,что нашел : вот
По идее - вам нужно лишь разобраться, как работать с ruby api. С точки зрения общего selenium api - оно везде одинаковое. Поведение селениума - тоже.

То есть если вы хотите в целом по селениуму что-то изучить - это уже немного другой вопрос.


(Vitalii Grygoruk) #7

не наступайте на грабли, не используйте напрямую RubyBindings. Обычно такие инициативы заканчиваются написанием "своего идеального говнофреймворка". Юзайте готовые решения, например Capybara gem

И изучите основы Ruby и какого-нить тестового фреймворка для организации тестов: TestUnit, RSpec, и т.д

По всему этому есть куча бесплатных книг / туториалов / статей онлайн. Гугл в помощь!


(Mykhailo Poliarush) #8

Кстати, полезные ссылки по ruby автоматизации можно найти здесь


(Irish) #9

я тоже за capybara - очень упрощает жизнь


(ffess) #10

а я против Capybara - Хорошая идея, конечно, и очень не плохая реализация, но все мы боремся за то чтобы сложить всю техническую реализацию в методы классов страниц. А в Capybara все самое красивое - это техническая реализация (методы для поиска и работы с элементами, они очень красиво читаются), зачем ее юзать, если эти методы читать никто не будет (в смысле в коде тестов их быть не должно)?


(ffess) #11

Рекомендую начать с основ руби

https://www.youtube.com/user/RubyScreencastsRu/videos?sort=da&view=0&flow=grid

Продолжить изучением

  • Cucumber (не очень рекомендую использовать, именно изучить и понять),
  • RSpec (рекомендую использовать),
  • потом поискать реализации Page Object, стоящих не так уж много
    остановиться рекомендую на page-object gem smile

канал автора https://www.youtube.com/user/ExtremelyCheezy/videos
там есть 3-4 видео с подробными инструкциями, как использовать
так же он написал очень не плохую книгу, на простом языке (английском smile)
гугление должно помочь ее скачать, если не жалко 15 долларов - купи, я купил когда то, не пожалел
Будут еще вопросы - пиши


(Sergiy Panchenko) #12

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

@ffess, как раз с руби и начал. Прошёл курсик базовый на codecademy, эти скринкасты на ютубе уже половину посмотрел. Пока что немного пугает такая гибкость языка. Ну, и понимания чёткого нет, что необходимо знать для автоматизации. Интуитивно догадываюсь, что ООПшные все фишки понимать надо, ну и все типы данных, методы, циклы и т.д. За ссылку и книгу спасибо, с английским, думаю, проблем не будет.


(Vitalii Grygoruk) #13

Никто вам не мешает использовать Page classes с Capybara. Используем Capybara и классы для страниц на 2-х проектах:
1) 700 cucumber features.
2) 200 RSpec examples.


(Vitalii Grygoruk) #14

Большое преимущество библиотек Capybara для Ruby и Selenide для Java - это возможность не париться с написанием explicit wait-ов тут и там после каждого действия. Кто писал автотесты для Single-page вэб-приложений где все взаимодействие с сервером идет за счет AJAX меня поймут.
А все "удобные" методы для взаимодействия с элементами, типа click_link, check, select, etc - фигня. Единственная причина использования Capybara на проекте - это встроенный механизм синхронизации методов find / has_selector? / has_no_selector?, который и избавляет код от кучи явных ожиданий, делая его чище и делает тесты стабильнее.


(ffess) #15

Это очень здорово, что там синхронизация сейчас настолько круто работает. Я раньше перестал юзать Capybara как раз после того как они перешли на новый способ реализации этих принципов, когда отменили метод wait_until. Так вот новая реализация была нестабильна еще (у меня всё валилось), а старыми методами пользоваться было уже нельзя, поэтому пошел искать альтернативы.
А в моем случае кстати явные ожидания тоже практически не используются. Есть хук метод, который при каждой загрузке страницы, или каком либо действии просто ожидает пока все ajax-запросы не закроются


(Сергей Блохин) #16

Буду рад ответить на любые вопросы о связке Selenium Webdriver Ruby RSpec.
Можно здесь, можно в почту sblohin@yandex.ru или Skype: s.blohin