class ParallelAppium::IOS
Connecting to iOS devices
Public Class Methods
new()
click to toggle source
# File lib/parallel_appium/ios.rb, line 5 def initialize # Get available simulators @simulators = `instruments -s devices`.split("\n").reverse end
Public Instance Methods
devices()
click to toggle source
Devices after cleanup and supplemental data included
# File lib/parallel_appium/ios.rb, line 20 def devices devices = [] simulator_information.each_with_index do |data, i| devices.push(name: @simulators[i][0, @simulators[i].index('(') - 1], platform: 'ios', os: data[0], udid: data[1], wdaPort: 8100 + i + ENV['THREADS'].to_i, thread: i + 1) end ENV['DEVICES'] = JSON.generate(devices) devices end
simulator_information()
click to toggle source
Filter simulator data
# File lib/parallel_appium/ios.rb, line 11 def simulator_information re = /\([0-9]+\.[0-9](\.[0-9])?\) \[[0-9A-Z-]+\]/m # Filter out simulator info for iPhone platform version and udid @simulators.select { |simulator_data| simulator_data.include?('iPhone') && !simulator_data.include?('Apple Watch') } .map { |simulator_data| simulator_data.match(re).to_s.tr('()[]', '').split }[0, ENV['THREADS'].to_i] end