module Applitools::Calabash::Utils

Public Instance Methods

clear_directories(eyes_settings) click to toggle source
# File lib/applitools/calabash/utils.rb, line 17
def clear_directories(eyes_settings)
  tmp_dir = File.join Dir.getwd, eyes_settings.tmp_dir
  log_dir = File.join Dir.getwd, eyes_settings.log_dir

  FileUtils.remove_dir(tmp_dir) if File.exist?(tmp_dir)
  FileUtils.remove_dir(log_dir) if File.exist?(log_dir)
end
create_directories(eyes_settings) click to toggle source
# File lib/applitools/calabash/utils.rb, line 8
def create_directories(eyes_settings)
  FileUtils.mkpath(
    File.join(Dir.getwd, eyes_settings.tmp_dir, eyes_settings.screenshot_dir)
  )
  FileUtils.mkpath(
    File.join(Dir.getwd, eyes_settings.log_dir)
  )
end
get_android_element(context, query, index) click to toggle source
# File lib/applitools/calabash/utils.rb, line 55
def get_android_element(context, query, index)
  element_query = if (id = context.query(query, :getId)[index.to_i]) && id > 0
                    "* id:#{id}"
                  else
                    query + " index:#{index.to_i}"
                  end
  element = context.query(element_query).first
  Applitools::Calabash::CalabashElement.new(element, element_query)
end
get_ios_element(context, query, index) click to toggle source
# File lib/applitools/calabash/utils.rb, line 65
def get_ios_element(context, query, index)
  hash = context.query(query, :hash)[index.to_i]
  return unless hash
  element_query = "* hash:#{hash}"
  element = context.query(element_query).first
  Applitools::Calabash::CalabashElement.new(element, element_query)
end
grub_android_class_name(context, element) click to toggle source
# File lib/applitools/calabash/utils.rb, line 47
def grub_android_class_name(context, element)
  request_element(context, element, :class)
end
grub_ios_class_name(context, element) click to toggle source
# File lib/applitools/calabash/utils.rb, line 51
def grub_ios_class_name(context, element)
  request_element(context, element, :className)
end
region_from_element(element) click to toggle source
# File lib/applitools/calabash/utils.rb, line 31
def region_from_element(element)
  region = Applitools::Region.new(
    element['rect']['x'],
    element['rect']['y'],
    element['rect']['width'],
    element['rect']['height']
  )
  return region if Applitools::Calabash::EnvironmentDetector.android?
  region.scale_it!(Applitools::Calabash::EyesSettings.instance.eyes.density)
end
request_element(context, element, method) click to toggle source
# File lib/applitools/calabash/utils.rb, line 42
def request_element(context, element, method)
  Applitools::ArgumentGuard.is_a?(element, 'element', Applitools::Calabash::CalabashElement)
  context.query(element.element_query, method)
end
using_screenshot(context) { |screenshot| ... } click to toggle source
# File lib/applitools/calabash/utils.rb, line 25
def using_screenshot(context)
  return unless block_given?
  screenshot_options = Applitools::Calabash::EyesSettings.instance.screenshot_names.next
  yield context.screenshot(screenshot_options)
end