2017-02-14 29 views
0

Я работаю над проектом огурца, ruby, capybara, siteprism, и мы определяем большинство переменных в Великобритании в объекте страницы siteprism.Можно ли использовать переменные siteprism для определения новых переменных при определении объекта страницы?

Есть ли способ использовать переменные siteprism, которые я создаю как часть определения для новых переменных?

Например, если у меня есть siteprim страницу, которая выглядит как:

sections :user_container, "#user_container" do 
    sections :address_module, "#address" do 
     element :house_number, "#house_number" 
    end 
end 

Могу ли я каким-то образом определить новые переменные в той же декларации pageobject, что-то вроде:

element :postcode, :user_container[2].:address_module[1].text 
OR 
element :postcode, ":user_container[2].:address_module[1].text" 
OR 
some other syntax or workaround? 

Спасибо ,

ответ

0

От взгляда на код site_prisms для sections - https://github.com/natritmeyer/site_prism/blob/master/lib/site_prism/element_container.rb#L33 - можно видеть, что все, что он делает, это определение методов в классе. Он не хранит переданные ему аргументы в любом месте, к которому можно получить доступ позже или в любых доступных пользователем переменных. Таким образом, нет никакого способа повторно использовать их в других вызовах element/section. То, что вы можете сделать, это просто определить методы для класса (объект страницы), в котором вы хотите получить доступ к почтовому индексу, например

def postcode 
    user_container[2].address_module[1].text 
end 
+0

Спасибо за объяснение, как всегда, Thomas !, и об обходном пути. Хорошая идея :) – mickael

 Смежные вопросы

  • Нет связанных вопросов^_^