从另一页 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
使用 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