Создать элементы 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. Он определяет только методы для вас. Это было разработано, чтобы использоваться в области класса.