2010-04-05 2 views
2

Я смотрю на набор тестов огурца, который сейчас несколько хрупкий; много маленьких шагов, и не знает самой страницы.Как использовать шаблон объекта страницы с огурцом и Webrat/Selenium?

Я хотел бы рассказать о логике, участвующей в определениях шагов внутри серии Selenium PageObjects. As seen here.

Однако, поскольку я использую Webrat, а не Selenium, все должно пройти через модель Webrat. Поэтому я не могу сделать

class MyPage < Selenium::WebPage 

end 

потому что это добавляет прямую зависимость.

Таким образом, я должен направить все через Webrat, сохраняя при этом доброту объекта Selenium Page. Никакой документации по этому поводу я не вижу: если у кого-то есть что-то на Webrat + PageModel, я бы с удовольствием это увидел.

ответ

1

Оказывается, ответ:

class MyPage < BasePage 
    def visit 
    @world.visit "/" 
    end 

end 

class BasePage 
    def initialize(world) 
    @world = world 
    end 
end 

А затем в определении шага:

Given /I am awesome/ do 
    page = MyPage.new(self) 
    page.visit 
end 
0

мы только что выпустили то, что звучит точно так же, как то, что вы были после. посмотреть на Gizmo - http://rubygems.org/gems/gizmo/ работает с (webrat | capybara), (огурец | rspec) и т. Д.

Смежные вопросы