2010-04-05 74 views
2

我正在看一個現在有點脆弱的黃瓜測試套件;許多小步驟,並且不瞭解頁面本身。如何在Cucumber和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 |水豚),(黃瓜| rspec)等。

相關問題