Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Getting 400 Bad Request in Allocate device API. #1

Open
WasiqB opened this issue Jan 26, 2021 · 5 comments
Open

Getting 400 Bad Request in Allocate device API. #1

WasiqB opened this issue Jan 26, 2021 · 5 comments

Comments

@WasiqB
Copy link

WasiqB commented Jan 26, 2021

Description

After starting the device manager and slave instance, I am able to see running simulators but when I use allocate end-point to start Appium session, I get 400 - Bad Request Error even when using same request sample given in README.

Following are the details about the request and response:

Request

> curl -L -iX POST "http://localhost:5353/remote-device-manager/appium/allocate?timeout=120" \
 --header "content-type: application/json" \
 --header "x-device-request-id: bc530bf2-aafb-4e5f-a3bf-20db63cf2e6b" \
 --header "x-request-user: Wasiq" \
 --header "x-forwarded-for: localhost" \
 --data '{
     "is_android": "false",
     "is_real_device": "",
     "brand": "",
     "version": "",
     "device_name": "iPhone 12 Pro",
     "clear_user_data": false,
     "app_package": null
 }'

Response

HTTP/1.1 400 
Content-Type: application/json
Transfer-Encoding: chunked
Date: Tue, 26 Jan 2021 11:42:26 GMT
Connection: close

{"error":"request id 'bc530bf2-aafb-4e5f-a3bf-20db63cf2e6b' for user 'Wasiq' from 'localhost' ::: unable to allocate device for request 'DeviceRequest(isAndroid=false, isRealDevice=, brand=, version=, deviceName=iPhone 12 Pro, clearUserData=false, appPackage=null)' even after '120 seconds'"}% 

Device Manager Logs

2021-01-26 17:10:25.992  INFO 43172 --- [remote-master-1] c.l.master.service.AllocationService     : request id 'bc530bf2-aafb-4e5f-a3bf-20db63cf2e6b' for user 'Wasiq' from 'localhost' ::: device allocate request 'DeviceRequest(isAndroid=false, isRealDevice=, brand=, version=, deviceName=iPhone 12 Pro, clearUserData=false, appPackage=null)' with timeout of 120 seconds
2021-01-26 17:12:26.011 ERROR 43172 --- [nio-5353-exec-6] c.l.m.s.DeviceManagerExceptionHandler    : request id 'bc530bf2-aafb-4e5f-a3bf-20db63cf2e6b' for user 'Wasiq' from 'localhost' ::: unable to allocate device for request 'DeviceRequest(isAndroid=false, isRealDevice=, brand=, version=, deviceName=iPhone 12 Pro, clearUserData=false, appPackage=null)' even after '120 seconds'

Slave Logs

2021-01-26 17:10:26.196  INFO 45226 --- [nio-5252-exec-4] c.l.slave.service.AppiumSessionService   : creating appium session for request 'AppiumSessionRequest(deviceId=E2F4CE15-CBAF-4F6E-9510-7CC6265B5ABB, cleanUserData=false, appPackage=)' with request id 'bc530bf2-aafb-4e5f-a3bf-20db63cf2e6b'
2021-01-26 17:10:26.205  INFO 45226 --- [nio-5252-exec-4] c.l.slave.service.AppiumSessionService   : starting appium session for request => {device_id=E2F4CE15-CBAF-4F6E-9510-7CC6265B5ABB, is_android=false, request-id=bc530bf2-aafb-4e5f-a3bf-20db63cf2e6b}
2021-01-26 17:10:27.348  INFO 45226 --- [nio-5252-exec-4] c.l.s.utils.AppiumLocalService$Builder   : ********* bc530bf2-aafb-4e5f-a3bf-20db63cf2e6b ::: stopping appium process of device 'E2F4CE15-CBAF-4F6E-9510-7CC6265B5ABB' *********
2021-01-26 17:10:29.494  INFO 45226 --- [nio-5252-exec-4] c.l.s.utils.AppiumLocalService$Builder   : ********* bc530bf2-aafb-4e5f-a3bf-20db63cf2e6b ::: stopping appium process of device 'E2F4CE15-CBAF-4F6E-9510-7CC6265B5ABB' *********
2021-01-26 17:10:30.498  INFO 45226 --- [nio-5252-exec-4] c.l.s.utils.AppiumLocalService$Builder   : ********* bc530bf2-aafb-4e5f-a3bf-20db63cf2e6b ::: starting appium process for device 'E2F4CE15-CBAF-4F6E-9510-7CC6265B5ABB' *********
2021-01-26 17:10:31.186  INFO 45226 --- [   scheduling-1] c.l.slave.service.DeviceSyncProcessor    : ***** 1185 ms taken to send data DeviceUpdateRequest(ip=192.168.0.102, androidRealDevices=[], androidEmulators=[], iosRealDevices=[], iosSimulators=[IOSDeviceProperty(deviceId=E2F4CE15-CBAF-4F6E-9510-7CC6265B5ABB, sdkVersion=14.1, manufacturer=Apple, isAndroid=false, isRealDevice=false)]) *****
2021-01-26 17:10:31.597  INFO 45226 --- [nio-5252-exec-4] c.l.s.utils.AppiumLocalService$Builder   : starting appium session
2021-01-26 17:10:46.202  INFO 45226 --- [   scheduling-1] c.l.slave.service.DeviceSyncProcessor    : ***** 1197 ms taken to send data DeviceUpdateRequest(ip=192.168.0.102, androidRealDevices=[], androidEmulators=[], iosRealDevices=[], iosSimulators=[IOSDeviceProperty(deviceId=E2F4CE15-CBAF-4F6E-9510-7CC6265B5ABB, sdkVersion=14.1, manufacturer=Apple, isAndroid=false, isRealDevice=false)]) *****
2021-01-26 17:11:01.334  INFO 45226 --- [   scheduling-1] c.l.slave.service.DeviceSyncProcessor    : ***** 1211 ms taken to send data DeviceUpdateRequest(ip=192.168.0.102, androidRealDevices=[], androidEmulators=[], iosRealDevices=[], iosSimulators=[IOSDeviceProperty(deviceId=E2F4CE15-CBAF-4F6E-9510-7CC6265B5ABB, sdkVersion=14.1, manufacturer=Apple, isAndroid=false, isRealDevice=false)]) *****
2021-01-26 17:11:16.179  INFO 45226 --- [   scheduling-1] c.l.slave.service.DeviceSyncProcessor    : ***** 1178 ms taken to send data DeviceUpdateRequest(ip=192.168.0.102, androidRealDevices=[], androidEmulators=[], iosRealDevices=[], iosSimulators=[IOSDeviceProperty(deviceId=E2F4CE15-CBAF-4F6E-9510-7CC6265B5ABB, sdkVersion=14.1, manufacturer=Apple, isAndroid=false, isRealDevice=false)]) *****
2021-01-26 17:11:31.182  INFO 45226 --- [   scheduling-1] c.l.slave.service.DeviceSyncProcessor    : ***** 1181 ms taken to send data DeviceUpdateRequest(ip=192.168.0.102, androidRealDevices=[], androidEmulators=[], iosRealDevices=[], iosSimulators=[IOSDeviceProperty(deviceId=E2F4CE15-CBAF-4F6E-9510-7CC6265B5ABB, sdkVersion=14.1, manufacturer=Apple, isAndroid=false, isRealDevice=false)]) *****
2021-01-26 17:11:31.806 ERROR 45226 --- [nio-5252-exec-4] c.l.s.utils.AppiumLocalService$Builder   : listening on port '4736' timed out after '60 seconds'
2021-01-26 17:11:32.809 ERROR 45226 --- [nio-5252-exec-4] c.l.s.utils.AppiumLocalService$Builder   : ********* bc530bf2-aafb-4e5f-a3bf-20db63cf2e6b ::: unable to start appium process for device 'E2F4CE15-CBAF-4F6E-9510-7CC6265B5ABB' *********
com.lampo.slave.model.DeviceManagerException: unable to start appium service for device 'E2F4CE15-CBAF-4F6E-9510-7CC6265B5ABB'
	at com.lampo.slave.service.AppiumSessionService.createAppiumSession(AppiumSessionService.java:142)
	at com.lampo.slave.controller.AppiumController.createAppiumSession(AppiumController.java:85)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:879)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:793)
	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:367)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1639)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.base/java.lang.Thread.run(Thread.java:832)
2021-01-26 17:11:32.814 ERROR 45226 --- [nio-5252-exec-4] c.l.s.s.DeviceManagerExceptionHandler    : unable to start appium service for device 'E2F4CE15-CBAF-4F6E-9510-7CC6265B5ABB'
@sarathpharmeasy
Copy link
Collaborator

@WasiqB Thanks for reporting. Looking into this issue and we'll fix it in 2 days.

@sarathpharmeasy
Copy link
Collaborator

@WasiqB Can you please share the name of the device that gets displayed like the below?

image

@WasiqB
Copy link
Author

WasiqB commented Feb 10, 2021

@sarathpurushothaman , This is the screenshot of listed devices in the dashboard.

Screenshot 2021-01-23 at 4 14 27 PM

@sarath21
Copy link

sarath21 commented Feb 13, 2021

Hi @WasiqB
Were you able to allocate/unallocate the connected redmi device and android emulator successfully?
I tried to replicate the issue and I couldn't do it. Please find the attached devices that I tried. I used the same request that you have added in the description.

Screenshot 2021-02-12 at 10 49 37 PM

Also, can you please try with the following request once and let me know if it works.

curl -L -iX POST "http://localhost:5353/remote-device-manager/appium/allocate?timeout=120" \
 --header "content-type: application/json" \
 --header "x-device-request-id: bc530bf2-aafb-4e5f-a3bf-20db63cf2e6b" \
 --header "x-request-user: Wasiq" \
 --header "x-forwarded-for: localhost" \
 --data '{
     "is_android": "false",
     "is_real_device": "",
     "brand": "",
     "version": "",
     "device_name": "iPhone",
     "clear_user_data": false,
     "app_package": null
 }'

and

curl -L -iX POST "http://localhost:5353/remote-device-manager/appium/allocate?timeout=120" \
 --header "content-type: application/json" \
 --header "x-device-request-id: bc530bf2-aafb-4e5f-a3bf-20db63cf2e6b" \
 --header "x-request-user: Wasiq" \
 --header "x-forwarded-for: localhost" \
 --data '{
     "is_android": "false",
     "is_real_device": "",
     "brand": "",
     "version": "",
     "device_name": "iPhone 12",
     "clear_user_data": false,
     "app_package": null
 }'

@WasiqB
Copy link
Author

WasiqB commented Apr 10, 2021

Description

I tried what you suggested but still got same Error. So I created a Postman request manually.

Postman screenshot

image

Response

{
  "error": "request id 'bc530bf2-aafb-4e5f-a3bf-20db63cf2e6b' for user 'Wasiq' from 'localhost' ::: unable to allocate device for request 'DeviceRequest(isAndroid=false, isRealDevice=false, brand=Apple, version=14.4, deviceName=iPhone 12 Pro, clearUserData=false, appPackage=null)' even after '60 seconds'"
}

Slave logs

2021-04-10 19:18:01.311  INFO 80424 --- [   scheduling-1] c.l.slave.service.DeviceSyncProcessor    : ***** 1307 ms taken to send data DeviceUpdateRequest(ip=192.168.0.103, androidRealDevices=[], androidEmulators=[], iosRealDevices=[], iosSimulators=[IOSDeviceProperty(deviceId=51FF7D1C-3805-4C4F-9E86-DF7DDC4AC856, sdkVersion=14.4, manufacturer=Apple, isAndroid=false, isRealDevice=false)]) *****
2021-04-10 19:18:02.003 ERROR 80424 --- [nio-5252-exec-4] c.l.s.utils.AppiumLocalService$Builder   : listening on port '4736' timed out after '60 seconds'
2021-04-10 19:18:03.004 ERROR 80424 --- [nio-5252-exec-4] c.l.s.utils.AppiumLocalService$Builder   : ********* bc530bf2-aafb-4e5f-a3bf-20db63cf2e6b ::: unable to start appium process for device '51FF7D1C-3805-4C4F-9E86-DF7DDC4AC856' *********
com.lampo.slave.model.DeviceManagerException: unable to start appium service for device '51FF7D1C-3805-4C4F-9E86-DF7DDC4AC856'
	at com.lampo.slave.service.AppiumSessionService.createAppiumSession(AppiumSessionService.java:142)
	at com.lampo.slave.controller.AppiumController.createAppiumSession(AppiumController.java:85)

Dashboard screenshot

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants