class ScreenObject::AppElements::Element

Attributes

locator[R]

Public Class Methods

new(locator) click to toggle source
# File lib/screen-object/accessors/element.rb, line 22
def initialize(locator)
  @locator=locator.split("~")
end

Public Instance Methods

click() click to toggle source
# File lib/screen-object/accessors/element.rb, line 30
def click
    element.click
end
click_dynamic_exact_text(text) click to toggle source
# File lib/screen-object/accessors/element.rb, line 133
def click_dynamic_exact_text(text)
  if dynamic_text_exists?(text)
    element.click
  else
    scroll_to_exact_text(text)
    element.click
  end
end
click_dynamic_text(text) click to toggle source
# File lib/screen-object/accessors/element.rb, line 115
def click_dynamic_text(text)
  if dynamic_text_exists?(text)
    element.click
  else
    scroll_to_text(text)
    element.click
  end
end
click_exact_text(text) click to toggle source
# File lib/screen-object/accessors/element.rb, line 124
def click_exact_text(text)
  if exists?
    click
  else
    scroll_to_exact_text(text)
    element.click
  end
end
click_text(text) click to toggle source
# File lib/screen-object/accessors/element.rb, line 106
def click_text(text)
  if exists?
    click
  else
    scroll_to_text(text)
    element.click
  end
end
driver() click to toggle source
# File lib/screen-object/accessors/element.rb, line 26
def driver
  $driver
end
dynamic_text_exists?(dynamic_text) click to toggle source
# File lib/screen-object/accessors/element.rb, line 67
def dynamic_text_exists? dynamic_text
  begin
    dynamic_xpath(dynamic_text).displayed?
  rescue
    false
  end
end
dynamic_xpath(text) click to toggle source
# File lib/screen-object/accessors/element.rb, line 58
def dynamic_xpath(text)
  concat_attribute=[]
  element_attributes.each{|i| concat_attribute << %Q(contains(@#{i}, '#{text}'))}
  puts  "//#{locator[0]}[#{concat_attribute.join(' or ')}]"
  locator1="xpath~//#{locator[0]}[#{concat_attribute.join(' or ')}]"
  @locator=locator1.split("~")
  element
end
element() click to toggle source
# File lib/screen-object/accessors/element.rb, line 46
def element
  driver.find_element(:"#{locator[0]}",locator[1])
end
element_attributes() click to toggle source
# File lib/screen-object/accessors/element.rb, line 54
def element_attributes
  %w[name resource-id value text]
end
elements() click to toggle source
# File lib/screen-object/accessors/element.rb, line 50
def elements
  driver.find_elements(:"#{locator[0]}",locator[1])
end
exists?() click to toggle source
# File lib/screen-object/accessors/element.rb, line 38
def exists?
  begin
    element.displayed?
  rescue
    false
  end
end
scroll() click to toggle source
# File lib/screen-object/accessors/element.rb, line 75
def scroll
  $driver.execute_script 'mobile: scrollTo',:element => element.ref
  # $driver.execute_script("mobile: scroll",:direction => direction.downcase, :element => element.ref)
end
scroll_for_dynamic_element_click(expected_text) click to toggle source
# File lib/screen-object/accessors/element.rb, line 97
def scroll_for_dynamic_element_click (expected_text)
  if dynamic_xpath(expected_text).displayed?
    element.click
  else
    scroll
    element.click
  end
end
scroll_for_element_click() click to toggle source
# File lib/screen-object/accessors/element.rb, line 88
def scroll_for_element_click
  if element.displayed?
    element.click
  else
    scroll
    element.click
  end
end
scroll_to_exact_text(text) click to toggle source
# File lib/screen-object/accessors/element.rb, line 84
def scroll_to_exact_text(text)
  $driver.scroll_to_exact(text)
end
scroll_to_text(text) click to toggle source
# File lib/screen-object/accessors/element.rb, line 80
def scroll_to_text(text)
  $driver.scroll_to(text)
end
value() click to toggle source
# File lib/screen-object/accessors/element.rb, line 34
def value
    element.value
end