Class: AppiumLocalService

Inherits:
Object
  • Object
show all
Defined in:
lib/optimus-runner/AppiumLocalService.rb

Constant Summary collapse

@@sessions_with_pid =
[]

Instance Method Summary collapse

Instance Method Details

#create_session(device_detail) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/optimus-runner/AppiumLocalService.rb', line 32

def create_session(device_detail)
  RandomPort::Pool::SINGLETON.acquire do |port|
    @port = port
  end
  puts @port
  begin
    Timeout.timeout(5) do
      @pid = spawn(get_cmd(device_detail))
      Process.wait @pid
    end
  end
rescue Timeout::Error
  p @pid
  @ipaddress = get_ip_address
  session_id = get_session_id
  add_session_details session_id
return session_id
end

#get_session_detailsObject



8
9
10
# File 'lib/optimus-runner/AppiumLocalService.rb', line 8

def get_session_details
  @@sessions_with_pid
end

#launch_appium_session(device_detail) ⇒ Object



26
27
28
29
30
# File 'lib/optimus-runner/AppiumLocalService.rb', line 26

def launch_appium_session(device_detail)
  session_detail = create_session device_detail
  p session_detail
  return session_detail
end

#launch_appium_sessions(device_details) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/optimus-runner/AppiumLocalService.rb', line 12

def launch_appium_sessions(device_details)
  sessions = []
  p "Device details in Launch Appium Sessions = #{device_details}"
  p "Device details in Launch Appium Sessions = #{device_details.length}"
  device_details.each do |device_detail|
    session_id =  create_session device_detail
    session_info = {}
    session_info["sessionUrl"] = session_id
    session_info["sessionCapabilities"] = device_detail
    sessions.push(session_info)
  end
  sessions
end