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