Class: Appium::Common::CountElements

Inherits:
Nokogiri::XML::SAX::Document
  • Object
show all
Defined in:
lib/appium_lib/common/helper.rb

Overview

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeCountElements

Returns a new instance of CountElements.



71
72
73
# File 'lib/appium_lib/common/helper.rb', line 71

def initialize
  reset
end

Instance Attribute Details

#resultObject (readonly)

Returns the value of attribute result.



69
70
71
# File 'lib/appium_lib/common/helper.rb', line 69

def result
  @result
end

Instance Method Details

#formatted_resultObject



86
87
88
89
90
91
92
93
# File 'lib/appium_lib/common/helper.rb', line 86

def formatted_result
  message = ''
  sorted  = @result.sort_by { |_element, count| count }.reverse
  sorted.each do |element, count|
    message += "#{count}x #{element}\n"
  end
  message.strip
end

#resetObject



75
76
77
# File 'lib/appium_lib/common/helper.rb', line 75

def reset
  @result = Hash.new 0
end

#start_element(name, attrs = []) ⇒ Object



80
81
82
83
84
# File 'lib/appium_lib/common/helper.rb', line 80

def start_element(name, attrs = [])
  # Count only visible elements. Android is always visible
  element_visible = $driver.device_is_android? ? true : Hash[attrs]['visible'] == 'true'
  @result[name] += 1 if element_visible
end