我有一個名爲LineItemsPage頁面對象中元素的接口應該抽象多少?
class LineItemsPage
attr_accessor :add_line_item_button
def initialize(test_env)
@browser = test_env[:browser]
@action_bar = @browser.div(:id => 'lineitems_win').div(:class => 'window-body').div(:class => 'actionbar')
@add_line_item_button = @action_bar.img(:class => 'button add')
end
def method_missing(sym, *args, &block)
@browser.send sym, *args, &block
end
end
我用它像這樣一個頁面對象:
When /^I click on Add Item and enter the following values:$/ do |table|
@line_items_page = LineItemsPage.new(@test_env)
@line_items_page.add_line_item_button.when_present.click
end
我想知道如果我要提取的點擊,通過添加類似以下內容我的LineItemsPage類:
def add_item
self.add_line_item_button.when_present.click
end
然後像這樣使用它:
@line_items_page.add_item
我在尋找最佳實踐,無論是關於Page Object還是一般的Ruby。我覺得通過使用add_item()
來封裝接口有點過分,但我想知道如果我不這樣做,我可能會遇到問題。
有沒有關於Cheezy的頁面對象入門的任何文檔?我想使用它,但我還沒有找到任何教程,並且我把它放在了後面,儘管我覺得這樣做不好。 – 2012-04-26 23:02:18
回答更新了一些鏈接以作爲起點。 – 2012-04-27 02:01:38