将值从另一个页面对象传递到一个页面对象

时间:2019-11-27 17:08:22

标签: ruby cucumber pageobjects page-object-gem

使用红宝石和俗气的页面对象宝石(以及黄瓜)。

我有一个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

1 个答案:

答案 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