Class: Cukunity::Android::MonkeyClient

Inherits:
Object
  • Object
show all
Includes:
TunnelClientMethods, RequestLineResponseClientMethods, Singleton
Defined in:
lib/cukunity/drivers/android/monkey_client.rb

Constant Summary collapse

DEFAULT_HOSTNAME =
'127.0.0.1'
DEFAULT_PORT =
9923

Constants included from RequestLineResponseClientMethods

RequestLineResponseClientMethods::DEFAULT_TIMEOUT

Instance Method Summary collapse

Methods included from RequestLineResponseClientMethods

#request

Methods included from Utils

#check_timeout, #merge_options, #restrict_options, #to_options, #wait_connectivity

Methods included from TunnelClientMethods

#close_tunnel, #open_tunnel

Methods included from Utils

#adb, #launchable_activity_name, #monkey, #package_name, #shell

Instance Method Details

#closeObject



24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/cukunity/drivers/android/monkey_client.rb', line 24

def close
  if connected?
    request 'quit', :quit => true, :retry => false rescue ::Exception
    request_close
  end
  close_tunnel
  unless @monkey_pipe.nil?
    ::Process.kill('KILL', @monkey_pipe.pid) rescue ::Exception
    @monkey_pipe.close rescue ::Exception
    @monkey_pipe = nil
  end
end

#command(req) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/cukunity/drivers/android/monkey_client.rb', line 15

def command(req)
  res = request(req.chomp) do |line|
    m = line.chomp.match(/^([^:]+)(:(.*))?$/)
    { :status => m[1], :output => m[2] || '' }
  end
  raise Exception::MonkeyCommandError.new(res[:output]) if res.nil? or res[:status] != 'OK'
  res[:output]
end

#request_closeObject



10
# File 'lib/cukunity/drivers/android/monkey_client.rb', line 10

alias_method :request_close, :close

#request_connectObject



9
# File 'lib/cukunity/drivers/android/monkey_client.rb', line 9

alias_method :request_connect, :connect