Module: PageObject::Widgets

Defined in:
lib/page-object/widgets.rb

Class Method Summary collapse

Class Method Details

.register_widget(widget_tag, widget_class, base_element_tag) ⇒ Object

Module that allows for the registration of widget classes which extend the functionality of PageObject Allows any classes which extend PageObject::Element to be used as PageObject elements. This allows such widgets to be created using the defined tags.



18
19
20
21
22
23
24
25
26
# File 'lib/page-object/widgets.rb', line 18

def self.register_widget(widget_tag, widget_class, base_element_tag)
  if widget_class.ancestors.include? Elements::Element
    define_accessors(Accessors, widget_tag, widget_class)
    define_nested_elements(Elements::Element, widget_tag)
    define_locators(PageObject, widget_tag)
    define_selenium_accessors(Platforms::SeleniumWebDriver::PageObject, widget_tag, widget_class, base_element_tag)
    define_watir_accessors(Platforms::WatirWebDriver::PageObject, widget_tag, widget_class, base_element_tag)
  end
end