Module: PageObject::Accessors

Defined in:
lib/mobpage.rb,
lib/mobpage/page_object/accessors.rb

Instance Method Summary collapse

Instance Method Details

#buttonObject



6
# File 'lib/mobpage.rb', line 6

alias_method :button, :single

#buttonsObject



24
# File 'lib/mobpage.rb', line 24

alias_method :buttons, :collection

#check_boxObject



11
# File 'lib/mobpage.rb', line 11

alias_method :check_box, :single

#check_boxesObject



29
# File 'lib/mobpage.rb', line 29

alias_method :check_boxes, :collection

#collection(name, identifier = {}) ⇒ Object



38
39
40
# File 'lib/mobpage/page_object/accessors.rb', line 38

def collection(name, identifier={})
  create_standard_methods_for_collection(name, identifier)
end

#create_standard_methods(name, identifier = {}, &block) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 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 = {}) ⇒ Object



28
29
30
31
32
# 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

#dialogObject



19
# File 'lib/mobpage.rb', line 19

alias_method :dialog, :single

#dialogsObject



37
# File 'lib/mobpage.rb', line 37

alias_method :dialogs, :collection

#elementObject



14
# File 'lib/mobpage.rb', line 14

alias_method :element, :single

#elementsObject



32
# File 'lib/mobpage.rb', line 32

alias_method :elements, :collection

#imageObject



17
# File 'lib/mobpage.rb', line 17

alias_method :image, :single

#imagesObject



35
# File 'lib/mobpage.rb', line 35

alias_method :images, :collection

#item_listObject



13
# File 'lib/mobpage.rb', line 13

alias_method :item_list, :single

#item_listsObject



31
# File 'lib/mobpage.rb', line 31

alias_method :item_lists, :collection

#labelObject



16
# File 'lib/mobpage.rb', line 16

alias_method :label, :single

#labelsObject



34
# File 'lib/mobpage.rb', line 34

alias_method :labels, :collection


9
# File 'lib/mobpage.rb', line 9

alias_method :link, :single


27
# File 'lib/mobpage.rb', line 27

alias_method :links, :collection

#paragraphObject



18
# File 'lib/mobpage.rb', line 18

alias_method :paragraph, :single

#paragraphsObject



36
# File 'lib/mobpage.rb', line 36

alias_method :paragraphs, :collection

#pickerObject



22
# File 'lib/mobpage.rb', line 22

alias_method :picker, :single

#pickersObject



40
# File 'lib/mobpage.rb', line 40

alias_method :pickers, :collection

#pinObject



8
# File 'lib/mobpage.rb', line 8

alias_method :pin, :single

#pinsObject



26
# File 'lib/mobpage.rb', line 26

alias_method :pins, :collection

#radio_buttonObject



15
# File 'lib/mobpage.rb', line 15

alias_method :radio_button, :single

#radio_buttonsObject



33
# File 'lib/mobpage.rb', line 33

alias_method :radio_buttons, :collection

#select_listObject



12
# File 'lib/mobpage.rb', line 12

alias_method :select_list, :single

#select_listsObject



30
# File 'lib/mobpage.rb', line 30

alias_method :select_lists, :collection

#single(name, identifier = {}, &block) ⇒ Object



34
35
36
# File 'lib/mobpage/page_object/accessors.rb', line 34

def single(name, identifier={}, &block)
  create_standard_methods(name, identifier)
end

#spinnerObject



20
# File 'lib/mobpage.rb', line 20

alias_method :spinner, :single

#spinnersObject



38
# File 'lib/mobpage.rb', line 38

alias_method :spinners, :collection

#switchObject



7
# File 'lib/mobpage.rb', line 7

alias_method :switch, :single

#switchesObject



25
# File 'lib/mobpage.rb', line 25

alias_method :switches, :collection

#text_fieldObject



10
# File 'lib/mobpage.rb', line 10

alias_method :text_field, :single

#text_fieldsObject



28
# File 'lib/mobpage.rb', line 28

alias_method :text_fields, :collection

#view_switcherObject



21
# File 'lib/mobpage.rb', line 21

alias_method :view_switcher, :single

#view_switchersObject



39
# File 'lib/mobpage.rb', line 39

alias_method :view_switchers, :collection