使用红宝石和俗气的页面对象宝石(以及黄瓜)。
我有一个TargetActivity
(B节),其元素将根据另一个page_section
(A节)的值而变化。我可以很好地访问每个page_section
,但是我试图将值从B部分传递到A部分,但似乎无法正常工作。我在B节中有一个变量(不确定是否有其他更好的方法),我将其初始化为A节的跨度值。这不起作用,并给出了page_section
。有人可以帮我解决我在这里要做的事情吗?我知道标题说的是页面对象(从技术上来说,它们是页面对象),但我将把它们用作同一根页面的NoMethodError
。
B部分代码
page_sections
A节代码
class SectionB
include PageObject
coverage = on(SectionA).coverage_value
def element_method
element('element', id: coverage)
end
end
答案 0 :(得分:3)
编译类时,当前方法将确定coverage
。我认为您想确定对象初始化时的值。
我将在SectionB中初始化一个SectionA实例:
class SectionB
include PageObject
def coverage
SectionA.new(root.browser).coverage_value
end
def element_method
element('element', id: coverage)
end
end