module PageObject::Accessors
Public Instance Methods
collection(name, identifier={})
click to toggle source
# File lib/mobpage/page_object/accessors.rb, line 38 def collection(name, identifier={}) create_standard_methods_for_collection(name, identifier) end
Also aliased as: buttons, switches, pins, links, text_fields, check_boxes, select_lists, item_lists, elements, radio_buttons, labels, images, paragraphs, dialogs, spinners, view_switchers, pickers
create_standard_methods(name, identifier={}, &block)
click to toggle source
# File lib/mobpage/page_object/accessors.rb, line 4 def create_standard_methods(name, identifier={}, &block) define_method("#{name}_element") do if identifier.has_key?(:index) index = identifier[:index].to_i identifier.delete(:index) @driver.find_elements(identifier)[index] elsif identifier.has_key?(:text) elements = @driver.find_elements(identifier) elements.each do |element| return element if element.text == identifier[:text] nil end elsif identifier.has_key?(:name) && identifier.has_key?(:class) elements = @driver.find_elements(class: identifier[:class]) elements.each do |element| return element if element.attribute('name').strip == identifier[:name].strip nil end else @driver.find_element(identifier) end end end
create_standard_methods_for_collection(name, identifier={})
click to toggle source
# File lib/mobpage/page_object/accessors.rb, line 28 def create_standard_methods_for_collection(name, identifier={}) define_method("#{name}_elements") do @driver.find_elements(identifier) end end
single(name, identifier={}, &block)
click to toggle source
# File lib/mobpage/page_object/accessors.rb, line 34 def single(name, identifier={}, &block) create_standard_methods(name, identifier) end
Also aliased as: button, switch, pin, link, text_field, check_box, select_list, item_list, element, radio_button, label, image, paragraph, dialog, spinner, view_switcher, picker