Sha256: bf6b956a501b13a631465411bd836595b5daddea76a308b2a10d3b11ced7ee1a

Contents?: true

Size: 1.81 KB

Versions: 2

Compression:

Stored size: 1.81 KB

Contents

include Gridium

class Gridium::ElementExtensions
  def self.highlight(element)
    Log.debug("[GRIDIUM::ElementExtensions] Highlighting element...")
    original_border = Driver.execute_script("return arguments[0].style.border", element.element)
    original_background = Driver.execute_script("return arguments[0].style.backgroundColor", element.element)
    Driver.execute_script("arguments[0].style.border='3px solid lime'; return;", element.element)
    Driver.execute_script("arguments[0].style.backgroundColor='lime'; return;", element.element)
    sleep (Gridium.config.highlight_duration)
    Driver.execute_script("arguments[0].style.border='" + original_border + "'; return;", element.element)
    Driver.execute_script("arguments[0].style.backgroundColor='" + original_background + "'; return;", element.element)
  end

  def self.scroll_to(element)
    Log.debug("[GRIDIUM::ElementExtensions] Scrolling element into view...")
    Driver.execute_script("arguments[0].scrollIntoView(); return;", element.element)
    sleep 1
  end

  def self.hover_over(element)
    Driver.execute_script("var evObj = document.createEvent('MouseEvents'); evObj.initMouseEvent(\"mouseover\",true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); arguments[0].dispatchEvent(evObj);", element.element)
    sleep 2
  end

  def self.hover_away(element)
    Driver.execute_script("var evObj = document.createEvent('MouseEvents'); evObj.initMouseEvent(\"mouseout\",true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); arguments[0].dispatchEvent(evObj);", element.element)
    sleep 1
  end

  def self.mouse_over(element)
    Driver.driver.mouse.move_to(element.element)
  end

  def self.trigger_onblur(element)
    Driver.execute_script("arguments[0].focus(); arguments[0].blur(); return true", element.element)
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
gridium-1.1.7 lib/element_extensions.rb
gridium-1.1.6 lib/element_extensions.rb