Module: AutomationObject::BluePrint::PageObjectAdapter::ElementHelper

Included in:
Element, ElementArray, ElementHash
Defined in:
lib/automation_object/blue_print/page_object_adapter/helpers/element_helper.rb

Overview

Helper module for Element composite classes

Instance Method Summary collapse

Instance Method Details

#default_inputString?

Returns text input for automatic screen/modal change if needed

Returns:

  • (String, nil)

    text input for automatic screen/modal change if needed



11
12
13
# File 'lib/automation_object/blue_print/page_object_adapter/helpers/element_helper.rb', line 11

def default_input
  get_property(:default_input)
end

#in_iframeSymbol?

Returns element name of iframe element is in or nil if not

Returns:

  • (Symbol, nil)

    element name of iframe element is in or nil if not



25
26
27
28
29
30
# File 'lib/automation_object/blue_print/page_object_adapter/helpers/element_helper.rb', line 25

def in_iframe
  case hash[:in_iframe]
  when Symbol, String
    hash[:in_iframe].to_sym
  end
end

#in_iframe?Boolean

Returns whether or not element is in iframe

Returns:

  • (Boolean)

    whether or not element is in iframe



33
34
35
# File 'lib/automation_object/blue_print/page_object_adapter/helpers/element_helper.rb', line 33

def in_iframe?
  in_iframe ? true : false
end

#method_hook?(name) ⇒ Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/automation_object/blue_print/page_object_adapter/helpers/element_helper.rb', line 37

def method_hook?(name)
  method_hooks.key?(name)
end

#method_hooksHash<Hook>

Returns hash of Hook that are defined under the element

Returns:

  • (Hash<Hook>)

    hash of Hook that are defined under the element



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/automation_object/blue_print/page_object_adapter/helpers/element_helper.rb', line 42

def method_hooks
  return @method_hooks if defined? @method_hooks

  children = {}
  hash.each do |key, value|
    # Skip possible keys that elements can have
    # Otherwise should be a method hook
    next if %i[load custom_methods in_iframe css xpath define_elements_by custom_range].include?(key)
    children[key] = value
  end

  @method_hooks = create_hash_children(children,
                                       interface: Hook,
                                       location: location + '[hook]')

  @method_hooks
end

#selector_paramsArray<Symbol, String>?

Returns params as an array for driver find_element args

Returns:

  • (Array<Symbol, String>, nil)

    params as an array for driver find_element args



16
17
18
19
20
21
22
# File 'lib/automation_object/blue_print/page_object_adapter/helpers/element_helper.rb', line 16

def selector_params
  if hash[:xpath].is_a?(String)
    [:xpath, hash[:xpath]]
  elsif hash[:css].is_a?(String)
    [:css, hash[:css]]
  end
end