Создать элементы PageObject внутри функции

Я пытаюсь создать элементы объекта страницы внутри функции, чтобы я мог изменить свойство элемента в зависимости от параметра.

class SomePage
  include PageObject


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

end

Но когда я вызываю эту функцию, я получаю ошибку ниже:

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

Если я пишу тот же код с фиксированным значением свойства, он работает нормально. Но мне нужно создать элементы вышеописанным способом, используя функцию.

1 ответ

Решение

Ваш метод должен выглядеть так:

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

Метод #div является Accessor. Он определяет только методы для вас. Это было разработано, чтобы использоваться в области класса.

Другие вопросы по тегам