выбор Ruby обертки под Webdriver

Занялся поиском адекватной оберки для веб автомейшена под руби.
есть три варианта:

  1. чистый page object
  2. capybara
  3. микс из 1. и 2. site_prism

Интересны мнения людей которые пользовали что либо из представленного.
Мне импонирует 3й пункт, но немного отталкивает не самая лучшая поддерживаемость
Приветствуются любые мысли и мнения!

вот пример стартера для капибары

Я выбрал первый вариант.
Хорошо поддерживается. Cheezy и Justin Ko активно отвечают на вопросы на Stack Overflow. К тому же, по использованию page object gem есть замечательная книжка Cucumber & Cheese by Jeff Morgan [Leanpub PDF/iPad/Kindle] (недавно, кстати, вышло обновленное издание).

как вы справляетесь со всевозможными ожиданиями и аяксами?
может у вас есть какие то примеры использования этого гема?

как-то так Ajax Calls · cheezy/page-object Wiki · GitHub

Еще стоит глянуть на эти ссылочки

Юзал Watir+PageObject+FigNewton(хранение тестовых данных)+data magic gem(авто-генерация тестовых данных)
П.С. все эти тулзы задизайнены Чизи.

2 лайка

Понял что page-object довольно самодостаточный.
интересны так же мнения людей которые работали с capybara & site-prism

Ну так, Евгений, юзал - понятно, а где же фидбек-то?

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 делая свой выбор.

Спасибо! Посмотрел на Watir - понял откуда все эти врапперы у page-objecta взялись. стало яснее.

На тек. проекте используем capybara and factory_girl (test data).
Capybara хорошо хендлит сессии, добавляет сахара, декларирует умные ожидания. Но в проекте при этом есть методы try_n_times, самописные waitors. C другими сетапами для руби не могу сравнить, но по сравнению с java+thucydides скорость написания выше и код получается субъективно лучше.