class Parallel::Sauce::Runner

Attributes

datacenter[R]
device[R]
jar_runner_path[R]
pool_size[R]
sauce_key[R]

Public Class Methods

new(pool_size, jar_runner_path, sauce_key, device = 'iPhone X.*', datacenter = 'EU') click to toggle source
# File lib/parallel/sauce/runner.rb, line 6
def initialize(pool_size, jar_runner_path, sauce_key, device = 'iPhone X.*', datacenter = 'EU')
  @pool_size = pool_size
  @jar_runner_path = jar_runner_path
  @sauce_key = sauce_key
  @device = device
  @datacenter = datacenter
end

Public Instance Methods

run(main_app_path, target_paths, result_folder) click to toggle source
# File lib/parallel/sauce/runner.rb, line 14
def run(main_app_path, target_paths, result_folder)
  Parallel.map(target_paths, in_threads: pool_size) do |target_path|
    Pair.new(target_path, execute(main_app_path, target_path, result_folder))
  end
end

Private Instance Methods

execute(app_path, target_path, result_folder) click to toggle source
# File lib/parallel/sauce/runner.rb, line 24
def execute(app_path, target_path, result_folder)
  system("java -jar #{jar_runner_path} xcuitest "\
          "--test '#{target_path}' "\
          "--app '#{app_path}' "\
          "--apikey #{sauce_key} "\
          "--datacenter #{datacenter} "\
          "--deviceNameQuery '#{device}' "\
          "--xmlFolder '#{result_folder}' "\
          "--testname '#{testname(target_path)}"
  ) || false
end
testname(target_path) click to toggle source
# File lib/parallel/sauce/runner.rb, line 36
def testname(target_path)
  File.basename(target_path).chomp("-Runner.app")
end