在定义页面对象时是否可以使用siteprism变量来定义新变量?

时间:2017-02-14 21:29:33

标签: cucumber capybara pageobjects site-prism

我正在研究黄瓜,红宝石,水豚,siteprism项目,我们在siteprism页面对象中定义了大多数英国变量。

有没有办法让我使用我创建的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?

谢谢。

1 个答案:

答案 0 :(得分:1)

通过查看@RolesAllowed({"readRole"}) public void readSomething() { this.readSomethingImpl(); } public void readSomethingUnrestricted() { this.readSomethingImpl(); } - https://github.com/natritmeyer/site_prism/blob/master/lib/site_prism/element_container.rb#L33的site_prisms代码,可以看到它所做的只是在类上定义方法。它不会将传递给它的参数存储在以后可以访问的任何地方或任何用户可访问的变量中。所以,没有办法在其他sections调用中重用它们。你可以做的只是在类(页面对象)上定义你想要访问邮政编码的方法,如

element/section