从另一页 Object 向一页 Object 传递值

Passing value to one Page Object from Another Page Object

使用 ruby 和奶酪 page-object gem(以及黄瓜)。

我有一个 page_section(B 部分),他的元素会根据另一个 page_section(A 部分)的值而变化。我可以很好地访问每个 page_section,但我试图将值从 B 部分传递到 A 部分,但我似乎无法使其工作。我在 B 部分中有一个变量(不确定是否有更好的方法),我将其初始化为 A 部分中的跨度值。这不起作用并给出 NoMethodError。谁能帮我解决我在这里要做的事情?我知道标题说第 Objects 页(从技术上讲,它们是第 objects 页),但我将把它们用作同一根页面的 page_sections

B段代码

class SectionB
  include PageObject

  coverage = on(SectionA).coverage_value

  def element_method

    element('element', id: coverage)
  end

 end

A段代码

class SectionA
  include PageObject

  def coverage_value
    span_element(id: 'coverage-id')
  end

end

当前的方法将在编译 class 时确定 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