class Selenium::WebDriver::Support::EventFiringBridge
@api private
Public Class Methods
new(delegate, listener)
click to toggle source
# File lib/selenium/webdriver/support/event_firing_bridge.rb, line 10 def initialize(delegate, listener) @delegate = delegate if listener.respond_to? :call @listener = BlockEventListener.new(listener) else @listener = listener end end
Public Instance Methods
clearElement(ref)
click to toggle source
# File lib/selenium/webdriver/support/event_firing_bridge.rb, line 44 def clearElement(ref) dispatch(:change_value_of, create_element(ref), driver) { @delegate.clearElement(ref) } end
clickElement(ref)
click to toggle source
# File lib/selenium/webdriver/support/event_firing_bridge.rb, line 38 def clickElement(ref) dispatch(:click, create_element(ref), driver) { @delegate.clickElement(ref) } end
close()
click to toggle source
# File lib/selenium/webdriver/support/event_firing_bridge.rb, line 82 def close dispatch(:close, driver) { @delegate.close } end
executeScript(script, *args)
click to toggle source
# File lib/selenium/webdriver/support/event_firing_bridge.rb, line 72 def executeScript(script, *args) dispatch(:execute_script, script, driver) { @delegate.executeScript(script, *args) } end
find_element_by(how, what, parent = nil)
click to toggle source
# File lib/selenium/webdriver/support/event_firing_bridge.rb, line 56 def find_element_by(how, what, parent = nil) e = dispatch(:find, how, what, driver) { @delegate.find_element_by how, what, parent } Element.new self, e.ref end
find_elements_by(how, what, parent = nil)
click to toggle source
# File lib/selenium/webdriver/support/event_firing_bridge.rb, line 64 def find_elements_by(how, what, parent = nil) es = dispatch(:find, how, what, driver) { @delegate.find_elements_by(how, what, parent) } es.map { |e| Element.new self, e.ref } end
get(url)
click to toggle source
# File lib/selenium/webdriver/support/event_firing_bridge.rb, line 20 def get(url) dispatch(:navigate_to, url, driver) { @delegate.get(url) } end
goBack()
click to toggle source
# File lib/selenium/webdriver/support/event_firing_bridge.rb, line 32 def goBack dispatch(:navigate_back, driver) { @delegate.goBack } end
goForward()
click to toggle source
# File lib/selenium/webdriver/support/event_firing_bridge.rb, line 26 def goForward dispatch(:navigate_forward, driver) { @delegate.goForward } end
quit()
click to toggle source
# File lib/selenium/webdriver/support/event_firing_bridge.rb, line 78 def quit dispatch(:quit, driver) { @delegate.quit } end
sendKeysToElement(ref, keys)
click to toggle source
# File lib/selenium/webdriver/support/event_firing_bridge.rb, line 50 def sendKeysToElement(ref, keys) dispatch(:change_value_of, create_element(ref), driver) { @delegate.sendKeysToElement(ref, keys) } end
Private Instance Methods
create_element(ref)
click to toggle source
# File lib/selenium/webdriver/support/event_firing_bridge.rb, line 88 def create_element(ref) # hmm. we're not passing self here to not fire events for potential calls made by the listener Element.new @delegate, ref end
dispatch(name, *args) { || ... }
click to toggle source
# File lib/selenium/webdriver/support/event_firing_bridge.rb, line 97 def dispatch(name, *args, &blk) @listener.__send__("before_#{name}", *args) returned = yield @listener.__send__("after_#{name}", *args) returned end
driver()
click to toggle source
# File lib/selenium/webdriver/support/event_firing_bridge.rb, line 93 def driver @driver ||= Driver.new(self) end
method_missing(meth, *args, &blk)
click to toggle source
# File lib/selenium/webdriver/support/event_firing_bridge.rb, line 105 def method_missing(meth, *args, &blk) @delegate.__send__(meth, *args, &blk) end