Class: Appium::Support::EventFiringBridge

Inherits:
Selenium::WebDriver::Support::EventFiringBridge show all
Defined in:
lib/appium_lib_core/support/event_firing_bridge.rb,
sig/lib/appium_lib_core/support/event_firing_bridge.rbs

Instance Method Summary collapse

Methods inherited from Selenium::WebDriver::Support::EventFiringBridge

#clear_element, #click_element, #close, #dispatch, #execute_script, #get, #go_back, #go_forward, #method_missing, #quit, #send_keys_to_element

Constructor Details

#initialize(delegate, listener, **opts) ⇒ EventFiringBridge

This module inherits ::Selenium::WebDriver::Support::EventFiringBridge to provide customer listener availability. https://github.com/SeleniumHQ/selenium/blob/trunk/rb/lib/selenium/webdriver/support/event_firing_bridge.rb#L79

Parameters:

  • delegate (Object)
  • listener (Object)
  • opts (Object)


22
23
24
25
# File 'lib/appium_lib_core/support/event_firing_bridge.rb', line 22

def initialize(delegate, listener, **opts)
  @appium_options = opts
  super(delegate, listener)
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Selenium::WebDriver::Support::EventFiringBridge

Instance Method Details

#create_element(ref) ⇒ Object

Parameters:

  • ref (Object)

Returns:

  • (Object)


45
46
47
# File 'lib/appium_lib_core/support/event_firing_bridge.rb', line 45

def create_element(ref)
  ::Appium::Core::Element.new @delegate, ref
end

#driverObject

Returns:

  • (Object)


49
50
51
52
53
54
# File 'lib/appium_lib_core/support/event_firing_bridge.rb', line 49

def driver
  # To not gives the listener
  @appium_options.delete(:listener)

  @driver ||= ::Appium::Core::Base::Driver.new(bridge: self, listener: nil, **@appium_options)
end

#find_element_by(how, what, parent = nil) ⇒ Object

Parameters:

  • how (Object)
  • what (Object)
  • parent (Object, nil) (defaults to: nil)

Returns:

  • (Object)


27
28
29
30
31
32
33
# File 'lib/appium_lib_core/support/event_firing_bridge.rb', line 27

def find_element_by(how, what, parent = nil)
  e = dispatch(:find, how, what, driver) do
    @delegate.find_element_by how, what, parent
  end

  ::Appium::Core::Element.new self, e.ref.last
end

#find_elements_by(how, what, parent = nil) ⇒ Object

Parameters:

  • how (Object)
  • what (Object)
  • parent (Object, nil) (defaults to: nil)

Returns:

  • (Object)


35
36
37
38
39
40
41
# File 'lib/appium_lib_core/support/event_firing_bridge.rb', line 35

def find_elements_by(how, what, parent = nil)
  es = dispatch(:find, how, what, driver) do
    @delegate.find_elements_by(how, what, parent)
  end

  es.map { |e| ::Appium::Core::Element.new self, e.ref.last }
end