我想在我的类初始化中使用 PageObject链接方法,但我无法做到:(
这是我想要做的:
class MyPage
include PageObject
def initialize
link_names.each do |link_name|
link link_name, :id => "id_#{link_name}"
end
end
def link_names
...get link names from DB...
end
end
当我在创建 MyPage 对象的实例时运行 Cucumber 时,我收到此错误:
undefined method `link' for #<MyPage:0xa8dcf20> (NoMethodError)
我目前为避免此问题正在做的事情如下:
class MyPage
include PageObject
link_names = ['link_a', 'link_b']
link_names.each { |link_name|
link link_name, :id => "id_#{link_name}"
}
end
这工作正常,但我不想在我的模块中硬编码链接名称。
我也无法理解为什么在第一种情况下初始化时该方法不可用。