class AndroidDevice

Public Instance Methods

calabash_default_device() click to toggle source
# File lib/kraken-mobile/models/android_device.rb, line 105
def calabash_default_device
  operations_module = Calabash::Android::Operations
  operations_module::Device.new(
    operations_module,
    ENV['ADB_DEVICE_ARG'],
    ENV['TEST_SERVER_PORT'],
    ENV['APP_PATH'],
    ENV['TEST_APP_PATH']
  )
end
connected?() click to toggle source
# File lib/kraken-mobile/models/android_device.rb, line 48
def connected?
  ADB.connected_devices.any? do |device|
    device.id == @id
  end
end
create_inbox() click to toggle source
# File lib/kraken-mobile/models/android_device.rb, line 13
def create_inbox
  raise 'ERROR: Device is disconnected.' unless connected?

  ADB.create_file_with_name_in_device(
    device_id: @id,
    file_name: K::INBOX_FILE_NAME
  )
end
delete_inbox() click to toggle source
# File lib/kraken-mobile/models/android_device.rb, line 22
def delete_inbox
  raise 'ERROR: Device is disconnected.' unless connected?

  ADB.delete_file_with_name_in_device(
    device_id: @id,
    file_name: K::INBOX_FILE_NAME
  )
end
orientation() click to toggle source
# File lib/kraken-mobile/models/android_device.rb, line 54
def orientation
  ADB.device_orientation(
    device_id: @id
  ).strip!.to_i
rescue StandardError => _e
  K::ANDROID_PORTRAIT
end
read_signal(signal, timeout = K::DEFAULT_TIMEOUT_SECONDS) click to toggle source
# File lib/kraken-mobile/models/android_device.rb, line 39
def read_signal(signal, timeout = K::DEFAULT_TIMEOUT_SECONDS)
  Timeout.timeout(timeout, RuntimeError) do
    sleep(1) until inbox_last_signal == signal
  end
end
run_kraken_monkey_with_number_of_events(number_of_events) click to toggle source
# File lib/kraken-mobile/models/android_device.rb, line 98
def run_kraken_monkey_with_number_of_events(number_of_events)
  execute_kraken_monkey(number_of_events)
end
run_monkey_with_number_of_events(number_of_events) click to toggle source
# File lib/kraken-mobile/models/android_device.rb, line 94
def run_monkey_with_number_of_events(number_of_events)
  execute_monkey(number_of_events)
end
save_snapshot_in_file_path(file_path) click to toggle source
# File lib/kraken-mobile/models/android_device.rb, line 79
def save_snapshot_in_file_path(file_path)
  raise 'ERROR: Invalid snapshot file path' if file_path.nil?

  absolute_path = File.expand_path(file_path)
  raise 'ERROR: File already exists' if File.file?(absolute_path)

  ADB.save_snapshot_for_device_with_id_in_file_path(
    device_id: @id,
    file_path: absolute_path
  )
end
screen_size() click to toggle source
# File lib/kraken-mobile/models/android_device.rb, line 62
def screen_size
  size = ADB.device_screen_size(device_id: @id)

  height = orientation == K::ANDROID_PORTRAIT ? size[1] : size[0]
  width = orientation == K::ANDROID_PORTRAIT ? size[0] : size[1]

  [height, width]
end
sdk_version() click to toggle source
# File lib/kraken-mobile/models/android_device.rb, line 71
def sdk_version
  ADB.device_sdk_version(device_id: @id)
end
type() click to toggle source
# File lib/kraken-mobile/models/android_device.rb, line 75
def type
  K::ANDROID_DEVICE
end
write_signal(signal) click to toggle source
# File lib/kraken-mobile/models/android_device.rb, line 31
def write_signal(signal)
  ADB.write_content_to_file_with_name_in_device(
    content: signal,
    device_id: @id,
    file_name: K::INBOX_FILE_NAME
  )
end

Private Instance Methods

inbox_last_signal() click to toggle source
# File lib/kraken-mobile/models/android_device.rb, line 118
def inbox_last_signal
  ADB.file_content(device_id: @id, file_name: K::INBOX_FILE_NAME).strip
end