module Appium::Android::Command

Public Instance Methods

shell(command, arguments) click to toggle source

Conduct an adb shell script on Appium server. Require `–relaxed-security` arguments when run Appium server as server side arguments.

@param [String] command Command for “adb shell” @param [Array] arguments Arguments for the adb command

@example

shell "echo", "list" #=> "list"
# File lib/appium_lib/android/common/command/command.rb, line 28
def shell(command, arguments)
  args = { command: command, args: arguments }
  # --relaxed-security
  @driver.execute_script 'mobile: shell', args
end
start_logs_broadcast(logcat_file = 'logcat.log') click to toggle source

Starts Android logcat broadcast websocket

@param [String] logcat_file A file path to write messages from a logcat WebSocket client

@example

start_logs_broadcast 'outputfile.log' #=> #<Appium::Android::Command::WsLogcat:...>
# File lib/appium_lib/android/common/command/command.rb, line 42
def start_logs_broadcast(logcat_file = 'logcat.log')
  @driver.execute_script 'mobile: startLogsBroadcast'

  socket_url = "ws://#{URI.parse(server_url).host}:#{@core.port}/ws/session/#{@driver.session_id}/appium/device/logcat"
  @logcat_client = ::Appium::Common::Command::WsLogcat.new(url: socket_url, output_file: logcat_file)
end
stop_logs_broadcast() click to toggle source

Stop Android logcat broadcast websocket

@example

stop_logs_broadcast #=> nil
# File lib/appium_lib/android/common/command/command.rb, line 55
def stop_logs_broadcast
  @logcat_client.close

  @driver.execute_script 'mobile: stopLogsBroadcast'
end