class Teber::Locator

Attributes

how[RW]
options[RW]
what[RW]

Public Class Methods

mouse_over(element, driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 19
def self.mouse_over(element, driver = $focus_driver)
  driver.action.move_to(element).perform
end
new( how, what, options = { "hidden" => false, "ajax_load" => false, }) click to toggle source
# File lib/teber/locator.rb, line 7
def initialize(
                how,
                what,
                options = {
                "hidden" => false,
                "ajax_load" => false,
                })
@how = how
@what = what
@options = options
end

Public Instance Methods

attribute(name, driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 45
def attribute(name, driver = $focus_driver)
  driver.find_element(self).attribute(name)
end
check(driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 175
def check(driver = $focus_driver)
  self.click unless self.is_checked?
end
clear(driver = $focus_driver) click to toggle source

Text box methods

# File lib/teber/locator.rb, line 187
def clear(driver = $focus_driver)
  driver.find_element(self).clear
end
clear_and_send_keys(*args) click to toggle source
# File lib/teber/locator.rb, line 195
def clear_and_send_keys(*args)
  clear($focus_driver)
  send_keys(*args)
end
click(driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 23
def click(driver = $focus_driver)
  begin
    driver.find_element(self).click
    puts "Clicked - #{self.how} => #{self.what}"
  rescue Exception => e
    puts "Not clicked at - #{self.how} => #{self.what}"
    puts e.message
  end
end
click_if_present(driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 141
def click_if_present(driver = $focus_driver)
  click(driver) if is_present?(driver)
end
click_if_present_with_wait(timeout = $conf["implicit_wait"], driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 145
def click_if_present_with_wait(timeout = $conf["implicit_wait"], driver = $focus_driver)
  click(driver) if is_present_with_wait?(timeout, driver)
end
count(driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 106
def count(driver = $focus_driver)
  element_list = driver.find_elements(self)
  return element_list.count
end
css_value(prop, driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 49
def css_value(prop, driver = $focus_driver)
  driver.find_element(self).css_value(prop)
end
displayed?(driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 53
def displayed?(driver = $focus_driver)
  driver.find_element(self).displayed?
end
enabled?(driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 57
def enabled?(driver = $focus_driver)
  driver.find_element(self).enabled?
end
get_element(driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 163
def get_element(driver = $focus_driver)
  driver.find_element(self)
end
get_value(driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 200
def get_value(driver = $focus_driver)
  driver.find_element(self).attribute("value")
end
hash(driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 74
def hash(driver = $focus_driver)
  driver.find_element(self).hash
end
is_checked?(driver = $focus_driver) click to toggle source

Check box methods

# File lib/teber/locator.rb, line 171
def is_checked?(driver = $focus_driver)
  self.attribute("checked") == "true"
end
is_enabled_with_wait?(timeout = $conf["implicit_wait"], driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 61
def is_enabled_with_wait?(timeout = $conf["implicit_wait"], driver = $focus_driver)
  index = 0
  while driver.find_element(self).enabled? == false
    sleep 1
    break if index == timeout
    index += 1
  end
end
is_not_present?(driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 127
def is_not_present?(driver = $focus_driver)
  return !is_present?(driver)
end
is_not_present_with_wait?(timeout = $conf["implicit_wait"], driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 136
def is_not_present_with_wait?(timeout = $conf["implicit_wait"], driver = $focus_driver)
  Wait.wait_for_element_hide(self, timeout, driver)
  return !is_present?(driver)
end
is_present?(driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 115
def is_present?(driver = $focus_driver)
  driver.driver.manage.timeouts.implicit_wait = 0
  begin
    return driver.driver.find_element(self.how, self.what).displayed?
  rescue Exception => e
    driver.driver.manage.timeouts.implicit_wait = $conf["implicit_wait"]
    return false
  ensure
    driver.driver.manage.timeouts.implicit_wait = $conf["implicit_wait"]
  end
end
is_present_with_wait?(timeout = $conf["implicit_wait"], driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 131
def is_present_with_wait?(timeout = $conf["implicit_wait"], driver = $focus_driver)
  Wait.wait_for_element(self, timeout, driver)
  is_present?(driver)
end
location(driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 78
def location(driver = $focus_driver)
  driver.find_element(self).location
end
location_once_scrolled_into_view(driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 82
def location_once_scrolled_into_view(driver = $focus_driver)
  driver.find_element(self).location_once_scrolled_into_view
end
mouse_over(index = 1, driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 153
def mouse_over(index = 1, driver = $focus_driver)
  element = driver.find_elements(self)[index - 1]
  driver.action.move_to(element).perform
end
move_and_click(driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 158
def move_and_click(driver = $focus_driver)
  element = driver.find_element(self)
  driver.action.move_to(element).click.perform
end
property(driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 86
def property(driver = $focus_driver)
  driver.find_element(self).property
end
scroll_to_locator(driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 70
def scroll_to_locator(driver = $focus_driver)
    $focus_driver.scroll_to_locator(self)
end
selected?(driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 90
def selected?(driver = $focus_driver)
  driver.find_element(self).selected?
end
send_keys(*args) click to toggle source
# File lib/teber/locator.rb, line 191
def send_keys(*args)
  $focus_driver.find_element(self).send_keys(*args)
end
size(driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 94
def size(driver = $focus_driver)
  driver.find_element(self).size
end
style(prop, driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 98
def style(prop, driver = $focus_driver)
  driver.find_element(self).style(prop)
end
submit(driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 102
def submit(driver = $focus_driver)
  driver.find_element(self).submit
end
tag_name(driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 111
def tag_name(driver = $focus_driver)
  driver.find_element(self).tag_name
end
text(driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 33
def text(driver = $focus_driver)
  return driver.find_element(self).text
end
texts(driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 37
def texts(driver = $focus_driver)
  elements_text = []
  driver.find_elements(self).each do |element|
    elements_text.push(element.text)
  end
  return elements_text
end
to_s() click to toggle source
# File lib/teber/locator.rb, line 149
def to_s
  return "How ===> #{@how}\nWhat ===> #{@what}\nOptions ===> #{@options}"
end
uncheck(driver = $focus_driver) click to toggle source
# File lib/teber/locator.rb, line 179
def uncheck(driver = $focus_driver)
  self.click if self.is_checked?
end