Интересны мнения людей которые пользовали что либо из представленного.
Мне импонирует 3й пункт, но немного отталкивает не самая лучшая поддерживаемость
Приветствуются любые мысли и мнения!
Я выбрал первый вариант.
Хорошо поддерживается. Cheezy и Justin Ko активно отвечают на вопросы на Stack Overflow. К тому же, по использованию page object gem есть замечательная книжка Cucumber & Cheese by Jeff Morgan [Leanpub PDF/iPad/Kindle] (недавно, кстати, вышло обновленное издание).
Watir - понравился своим набором кастомных солюшенов для не тревиальных случаев(драг н дроп решается в одну строчку), часто обновляется, связь можно держать с Чизи через стековерфлоу, также не маловажно, как-то выглядит он лаконичней и т.д.
По пейдж обджекту - фидбек думаю незачем оставлять.
По капибаре можно сказать однозначно - сильная тулза, но не настолько “гибкая” и тяжеловата для maintenance в последующей работе с ней.
П.С. Мое ИМХО.
Фидбек по пейдж-обжект гему мне довольно интересен.
Я все еще не могу выбрать между page-object и site_prism
Первый мне представляется простым, и довольно понятным, но немного отталкивает такое буйство типов элементов, и нелаконичность методов предикатов: button :login ... --> login, login_element, login? expect{home_page}.to be_login
во втором это реализованно красивее: element :login_button ... --> login_button, has_login_button?, ... expect{home_page}.to have_login_button
Но при этом, второй отпугивает масивностью, не понятным поведением капибары.
Ну тут скорее всего будет выбор между Watir и Capybara, если Watir - однозначно page-object, Capybara - site_prism.
Именно по page-object, нет ничего того, что меня могло бы “уговорить” на данный момент перейти на site_prism, но я наверное все таки оглядываюсь на выбор между Watir и Capybara делая свой выбор.
На тек. проекте используем capybara and factory_girl (test data).
Capybara хорошо хендлит сессии, добавляет сахара, декларирует умные ожидания. Но в проекте при этом есть методы try_n_times, самописные waitors. C другими сетапами для руби не могу сравнить, но по сравнению с java+thucydides скорость написания выше и код получается субъективно лучше.