在函数内创建PageObject元素

时间:2014-12-22 11:05:15

标签: ruby rubygems watir-webdriver page-object-gem

我正在尝试在函数内创建页面对象元素,以便我可以根据参数更改元素属性。

class SomePage
  include PageObject


  def create_element(x)
    div(:my_element, :id => "something-{x}")
  end

end

但是,当我调用此函数时,我收到以下错误:

undefined method `div' for #<SomePage:0x35a6be8> (NoMethodError).

如果我使用固定属性值编写相同的代码,它可以正常工作。但我需要使用函数以上述方式创建元素。

1 个答案:

答案 0 :(得分:1)

您的方法应如下所示:

def create_element(x)
  div_element(:id => "something-#{x}")
end

方法#div是Accessor。它只为您定义方法。它被设计用于一个类的领域。