【问题标题】:Passing value to one Page Object from Another Page Object从另一个页面对象向一个页面对象传递值
【发布时间】:2019-11-27 17:08:22
【问题描述】:

使用 ruby​​ 和俗气的页面对象 gem(以及 cucumber)。

我有一个page_section(B 部分),其元素会根据另一个page_section(A 部分)的值而有所不同。我可以访问每个page_section 很好,但我试图将值从 B 部分传递到 A 部分,但我似乎无法使其工作。我在 B 部分有一个变量(不确定是否有更好的方法),我将其初始化为 A 部分的跨度值。这不起作用并给出NoMethodError。任何人都可以帮助我在这里尝试做的事情吗?我知道标题说页面对象(从技术上讲,它们是页面对象),但我将把它们用作同一根页面的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

【问题讨论】:

    标签: ruby cucumber pageobjects page-object-gem


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-24
      • 2011-12-04
      • 1970-01-01
      • 2017-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多