是否可以在定义页面对象时使用siteprism变量定义新的变量?
Is it possible to use siteprism variables to define new variables when defining the page object?
我正在研究黄瓜、ruby、水豚、siteprism 项目,我们正在 siteprism 页面对象中定义大多数 UK 变量。
有没有办法让我使用我创建的 siteprism 变量作为新变量定义的一部分?
例如,如果我有一个如下所示的 siteprim 页面:
sections :user_container, "#user_container" do
sections :address_module, "#address" do
element :house_number, "#house_number"
end
end
我能否以某种方式在同一个页面对象声明上定义新变量,例如:
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?
谢谢。
通过查看 sections
- https://github.com/natritmeyer/site_prism/blob/master/lib/site_prism/element_container.rb#L33 的 site_prisms 代码,可以看出它所做的只是在 class 上定义方法。它不会将传递给它的参数存储在以后可以访问的任何地方,也不会存储在任何用户可访问的变量中。所以,不,没有办法在其他 element/section
调用中重用它们。您可以做的只是在要访问邮政编码的 class (页面对象)上定义方法,例如
def postcode
user_container[2].address_module[1].text
end
我正在研究黄瓜、ruby、水豚、siteprism 项目,我们正在 siteprism 页面对象中定义大多数 UK 变量。
有没有办法让我使用我创建的 siteprism 变量作为新变量定义的一部分?
例如,如果我有一个如下所示的 siteprim 页面:
sections :user_container, "#user_container" do
sections :address_module, "#address" do
element :house_number, "#house_number"
end
end
我能否以某种方式在同一个页面对象声明上定义新变量,例如:
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?
谢谢。
通过查看 sections
- https://github.com/natritmeyer/site_prism/blob/master/lib/site_prism/element_container.rb#L33 的 site_prisms 代码,可以看出它所做的只是在 class 上定义方法。它不会将传递给它的参数存储在以后可以访问的任何地方,也不会存储在任何用户可访问的变量中。所以,不,没有办法在其他 element/section
调用中重用它们。您可以做的只是在要访问邮政编码的 class (页面对象)上定义方法,例如
def postcode
user_container[2].address_module[1].text
end