class UIAuto::Simulator

Constants

CURRENT_IOS_SDK_VERSION
DEVICES

Public Class Methods

close() click to toggle source
# File lib/uiauto/simulator.rb, line 41
def self.close
  `killall "iPhone Simulator" &> /dev/null || true`
end
new(sdk_version = CURRENT_IOS_SDK_VERSION) click to toggle source
# File lib/uiauto/simulator.rb, line 14
def initialize(sdk_version = CURRENT_IOS_SDK_VERSION)
  @sdk_version = sdk_version
  @simulator_environment_path = File.expand_path("~/Library/Application Support/iPhone Simulator")
end
open(simulator = nil) click to toggle source
# File lib/uiauto/simulator.rb, line 45
def self.open(simulator = nil)
  xcode_path     = `xcode-select --print-path`.strip
  simulator_path = File.join(xcode_path, "/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app")

  `open "#{simulator_path}"`

  if DEVICES.include?(simulator)
    uiauto_root = Gem::Specification.find_by_name("uiauto").gem_dir
    choose_sim_device = File.join(uiauto_root, "helpers/choose_sim_device")
    `#{choose_sim_device} "#{simulator}"`
  elsif !simulator.nil?
    puts "Invalid simulator: \"#{simulator}\""
  end
end

Public Instance Methods

load(data_path) click to toggle source
# File lib/uiauto/simulator.rb, line 24
def load(data_path)
  source_directory      = Dir.glob("#{File.expand_path(data_path)}/*")
  destination_directory = simulator_data_path

  reset
  FileUtils.mkdir_p(destination_directory)
  FileUtils.cp_r(source_directory, destination_directory)
end
reset() click to toggle source
# File lib/uiauto/simulator.rb, line 19
def reset
  self.class.close
  FileUtils.rm_rf(simulator_data_path)
end
save(data_path) click to toggle source
# File lib/uiauto/simulator.rb, line 33
def save(data_path)
  source_directory      = Dir.glob("#{simulator_data_path}/*")
  destination_directory = File.expand_path(data_path)

  FileUtils.mkdir_p(destination_directory)
  FileUtils.cp_r(source_directory, destination_directory)
end

Private Instance Methods

simulator_data_path() click to toggle source
# File lib/uiauto/simulator.rb, line 62
def simulator_data_path
  File.join(@simulator_environment_path, @sdk_version)
end