Class: ParallelAppium::IOS
- Inherits:
-
Object
- Object
- ParallelAppium::IOS
- Defined in:
- lib/parallel_appium/ios.rb
Overview
Connecting to iOS devices
Instance Method Summary collapse
-
#devices ⇒ Object
Devices after cleanup and supplemental data included.
-
#initialize ⇒ IOS
constructor
A new instance of IOS.
-
#simulator_information ⇒ Object
Filter simulator data.
Constructor Details
#initialize ⇒ IOS
Returns a new instance of IOS.
5 6 7 8 |
# File 'lib/parallel_appium/ios.rb', line 5 def initialize # Get available simulators @simulators = `instruments -s devices`.split("\n").reverse end |
Instance Method Details
#devices ⇒ Object
Devices after cleanup and supplemental data included
20 21 22 23 24 25 26 27 28 |
# 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 ⇒ Object
Filter simulator data
11 12 13 14 15 16 17 |
# 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 |