class Object

Public Instance Methods

device_android() click to toggle source
# File lib/testimonium/help_functions.rb, line 35
def device_android
  ENV['PLATFORM'] == 'android'
end
device_ios() click to toggle source
# File lib/testimonium/help_functions.rb, line 39
def device_ios
  ENV['PLATFORM'] == 'ios'
end
find_element_id(parameter, timeout = 2, retries = 5) click to toggle source
# File lib/testimonium/help_functions.rb, line 31
def find_element_id(parameter, timeout = 2, retries = 5)
  find_function('id', parameter, timeout, retries)
end
find_function(function_type, parameter, timeout_time = 2, retries = 5) click to toggle source
# File lib/testimonium/help_functions.rb, line 5
def find_function(function_type, parameter, timeout_time = 2, retries = 5)
  element = nil
  count = 0

  retries.times do
    sleep timeout_time
    count += 1

    begin
      element = id(parameter) if function_type.eql?('id')
      element = text(parameter) if function_type.eql?('text')
    rescue Selenium::WebDriver::Error::NoSuchElementError
    end

    logger("Found: '#{parameter}' on attempt #{count}") if element
    return element if element
  end

  logger("Failed to find: '#{function_type} = #{parameter}'. Number of attempts: #{count}")
  false
end
find_text_ios(parameter, timeout = 2, retries = 5) click to toggle source
# File lib/testimonium/help_functions.rb, line 27
def find_text_ios(parameter, timeout = 2, retries = 5)
  find_function('text', parameter, timeout, retries)
end
logger(msg, severity = 'debug') click to toggle source

@param msg [String] the log message @param severity [String] the severity of the message, 'debug' by default

# File lib/testimonium/help_functions.rb, line 45
def logger(msg, severity = 'debug')
  logger = Logger.new($stdout)
  logger.formatter = proc { |severity, datetime, _progname, msg| "#{severity}, #{datetime}, #{msg}\n" }

  if severity.eql?('debug')
    logger.debug(msg)
  elsif severity.eql?('fatal')
    logger.fatal(msg)
  else
    logger.info(msg)
  end
end