使用 Cheezy 的页面对象 gem,我遇到了拥有动态元素定位器的能力。(在此 github 问题中注明:https://github.com/cheezy/page-object/issues/203(。
例如,我可以做span_element(id: 'some id')
、div_element(class: 'some_class')
等。但是,如果我需要查找通用元素,该怎么办?例如,我可以在一个具有角度的页面上工作,因此元素不是传统的(例如,它不是带有选项的传统html选择控件,而是一个自定义的角度下拉列表(。我试过element_element(class: 'class_name')
,只是element(class: 'class_name')
但红宝石说method missing
通用动态元素定位器在 PageObject::ElementLocators#element 中定义为:
def element(tag, identifier={:index => 0})
platform.element_for(tag, identifier.clone)
end
第一个参数是元素的标记名称。如果您不知道标签名称,可以为任何标签指定"element"。例如:
class MyPage
include PageObject
def do_stuff
element('element', class: 'class_name').text
end
end