Appium 大家做安卓多设备并发时并发时,遇到高版本手机用例执行一半时超时的问题 Proxy error: Could not proxy command to remote server. Original error: Error: ESOCKETTIMEDOUT 怎么解决的

小白 · 2019年07月11日 · 最后由 fei 回复于 2020年03月15日 · 2242 次阅读

以前都用的低版本的手机做并发,并发时未发现此问题,最近需要对高版本的手机做兼容时,根据版本高低加入了 automationName=uiautomator2 和 systemPort 后,发现在并发时,有时候手机会用例跑一半时不动了,log 如下:
[W3C (fa8d7b55)] Driver proxy active, passing request on via HTTP proxy
[WD Proxy] Got an unexpected response: {"code":"ESOCKETTIMEDOUT","connect":false}
[debug] [WD Proxy] Matched '/wd/hub/session/fa8d7b55-bcb7-4947-ad19-5769aaca0736/source' to command name 'getPageSource'
[debug] [WD Proxy] Proxying [GET /wd/hub/session/fa8d7b55-bcb7-4947-ad19-5769aaca0736/source] to [GET http://localhost:8235/wd/hub/session/1ad6799e-2b0f-46bb-8f3a-8bfdd95e91d3/source] with body: {}
[debug] [W3C (fa8d7b55)] Encountered internal error running command: Error: Could not proxy. Proxy error: Could not proxy command to remote server. Original error: Error: ESOCKETTIMEDOUT
[debug] [W3C (fa8d7b55)] at doJwpProxy (C:\Users\yangmeng\AppData\Roaming\npm\node_modules\appium\node_modules\appium-base-driver\lib\protocol\protocol.js:547:13)
[debug] [W3C (fa8d7b55)] at
[debug] [W3C (fa8d7b55)] at process._tickCallback (internal/process/next_tick.js:188:7)
[WD Proxy] Got an unexpected response: {"code":"ESOCKETTIMEDOUT","connect":false}
[debug] [W3C (fa8d7b55)] Encountered internal error running command: Error: Could not proxy. Proxy error: Could not proxy command to remote server. Original error: Error: ESOCKETTIMEDOUT
[debug] [W3C (fa8d7b55)] at doJwpProxy (C:\Users\yangmeng\AppData\Roaming\npm\node_modules\appium\node_modules\appium-base-driver\lib\protocol\protocol.js:547:13)
[debug] [W3C (fa8d7b55)] at
[HTTP] <-- GET /wd/hub/session/fa8d7b55-bcb7-4947-ad19-5769aaca0736/source 500 360025 ms - 807
但是低版本的手机中都不会出现
环境:
python2.7
appium-server 1.12.0

共收到 7 条回复 时间 点赞

所以这个问题到现在还没有解决方案是吗?

想知道怎么解决的,我也遇到这样的问题,请求答复

同样遇到过此类问题,不知道是否有好的解决办法?

cmlanche 回复

华为的 nova 手机,我把所有相关的权限都打开了,电源设置能关的都给关了,还是会报 sockettimeout,adb logcat 里面关于 uiautomator2 也没有 error。。。

小白 回复

可能是执行过程中,手机发现后台 UIAutomator 进程耗电严重,就给关闭或者冻结了。

解决方法就是检查手机是否有电源设置,关闭省电模式,比如小米的神隐模式

YueChen 回复

systemport 做了重复校验并且在 8200-8299 之间,最近发现,一些手机跑着跑着就不能用了,然后看 log 都是这种 socket timeout,也没找到好方法,换个 usb 端口重新插拔一下或者手机重启一下又好了,太奇怪了

systemPort 端口不能重复。还有确实有 (锤子,魅族) 等部分版本手机用 uiautomator2 服务,运行一会手机里 uiautomator2 进程就会 crash。具体也可以看下手机 logcat 日志

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册