折腾:
【未解决】开启和运行另外一个设备id是1的红米Note8Pro的自动化测试安卓项目环境
期间,之前出现过一次:
[201208 14:10:51][DownloadApps.py 139] download com.netease.index.vivo/魔法禁书目录 speed: cur=3.3MB/s, time: total=00:03:36, size: 680.0MB 34.62% Traceback (most recent call last): File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/venv/lib/python3.8/site-packages/urllib3/contrib/pyopenssl.py", line 313, in recv_into return self.connection.recv_into(*args, **kwargs) File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/venv/lib/python3.8/site-packages/OpenSSL/SSL.py", line 1822, in recv_into self._raise_ssl_error(self._ssl, result) File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/venv/lib/python3.8/site-packages/OpenSSL/SSL.py", line 1639, in _raise_ssl_error raise SysCallError(errno, errorcode.get(errno)) OpenSSL.SSL.SysCallError: (54, 'ECONNRESET') During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/venv/lib/python3.8/site-packages/urllib3/response.py", line 425, in _error_catcher yield File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/venv/lib/python3.8/site-packages/urllib3/response.py", line 507, in read data = self._fp.read(amt) if not fp_closed else b"" File "/Users/xxx/.pyenv/versions/3.8.0/Python.framework/Versions/3.8/lib/python3.8/http/client.py", line 454, in read n = self.readinto(b) File "/Users/xxx/.pyenv/versions/3.8.0/Python.framework/Versions/3.8/lib/python3.8/http/client.py", line 498, in readinto n = self.fp.readinto(b) File "/Users/xxx/.pyenv/versions/3.8.0/Python.framework/Versions/3.8/lib/python3.8/socket.py", line 669, in readinto return self._sock.recv_into(b) File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/venv/lib/python3.8/site-packages/urllib3/contrib/pyopenssl.py", line 318, in recv_into raise SocketError(str(e)) OSError: (54, 'ECONNRESET') 。。。 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "crawlerStart.py", line 201, in <module> scheduler.start() File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/src/AppCrawler.py", line 55, in start self.check_download(task) File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/src/common/DownloadApps.py", line 21, in check_download self.download(task) File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/src/common/DownloadApps.py", line 113, in download for chunkBytes in r.iter_content(chunk_size=ChunkSize): File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/venv/lib/python3.8/site-packages/requests/models.py", line 753, in generate raise ChunkedEncodingError(e) requests.exceptions.ChunkedEncodingError: ('Connection broken: OSError("(54, \'ECONNRESET\')")', OSError("(54, 'ECONNRESET')"))
貌似是公司网络不稳定??
只能重试。
但是后续又遇到了:
201208 14:45:31][AppCrawler.py 77 ] start to crawl app 0 com.hero.lszt.vivo_绿色征途 com.hero.lszt.vivo, remain 9 [201208 14:45:31][DevicesMethods.py 4064] start to install app in 20201208_fengyun_ViVoGameMoYuSecondTen_gameApp_Android.txt [201208 14:45:31][DevicesMethods.py 4112] Run length=255, command: adb -s hmucaei75ptk7szs install -r -f /Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/task/20201208_fengyun_ViVoGameMoYuSecondTen/20201208_fengyun_ViVoGameMoYuSecondTen_gameApp_Android/20201208_fengyun_ViVoGameMoYuSecondTen_gameApp_Android_0.apk Performing Streamed Install [D 201208 14:45:33 __init__:600] kill process(ps): uiautomator [D 201208 14:45:34 __init__:618] uiautomator-v2 is starting ... left: 40.0s [D 201208 14:45:35 __init__:618] uiautomator-v2 is starting ... left: 39.0s [D 201208 14:45:36 __init__:618] uiautomator-v2 is starting ... left: 38.0s [I 201208 14:45:36 __init__:583] uiautomator back to normal adb: failed to install /Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/task/20201208_fengyun_ViVoGameMoYuSecondTen/20201208_fengyun_ViVoGameMoYuSecondTen_gameApp_Android/20201208_fengyun_ViVoGameMoYuSecondTen_gameApp_Android_0.apk: [I 201208 14:45:36 __init__:258] USB disconnected, fallback to WiFi, ATX_AGENT_URL=http://192.168.31.177:7912 Exception in thread watcher: Traceback (most recent call last): File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 665, in urlopen httplib_response = self._make_request( File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 421, in _make_request six.raise_from(e, None) File "<string>", line 3, in raise_from File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 416, in _make_request httplib_response = conn.getresponse() File "/Users/xxx/.pyenv/versions/3.8.0/Python.framework/Versions/3.8/lib/python3.8/http/client.py", line 1322, in getresponse response.begin() File "/Users/xxx/.pyenv/versions/3.8.0/Python.framework/Versions/3.8/lib/python3.8/http/client.py", line 303, in begin version, status, reason = self._read_status() File "/Users/xxx/.pyenv/versions/3.8.0/Python.framework/Versions/3.8/lib/python3.8/http/client.py", line 272, in _read_status raise RemoteDisconnected("Remote end closed connection without" http.client.RemoteDisconnected: Remote end closed connection without response During handling of the above exception, another exception occurred: 。。。 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/Users/xxx/.pyenv/versions/3.8.0/Python.framework/Versions/3.8/lib/python3.8/threading.py", line 932, in _bootstrap_inner self.run() File "/Users/xxx/.pyenv/versions/3.8.0/Python.framework/Versions/3.8/lib/python3.8/threading.py", line 870, in run self._target(*self._args, **self._kwargs) File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/venv/lib/python3.8/site-packages/uiautomator2/watcher.py", line 225, in _watch_forever triggered = self.run() File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/venv/lib/python3.8/site-packages/uiautomator2/watcher.py", line 237, in run return self._run_watchers(source=source) File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/venv/lib/python3.8/site-packages/uiautomator2/watcher.py", line 244, in _run_watchers source = source or self._dump_hierarchy() File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/venv/lib/python3.8/site-packages/uiautomator2/watcher.py", line 173, in _dump_hierarchy return self._d.dump_hierarchy() File "</Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/venv/lib/python3.8/site-packages/decorator.py:decorator-gen-12>", line 2, in dump_hierarchy File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/venv/lib/python3.8/site-packages/retry/api.py", line 73, in retry_decorator return __retry_internal(partial(f, *args, **kwargs), exceptions, tries, delay, max_delay, backoff, jitter, File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/venv/lib/python3.8/site-packages/retry/api.py", line 33, in __retry_internal return f() File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/venv/lib/python3.8/site-packages/uiautomator2/__init__.py", line 894, in dump_hierarchy return decodedImage File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/venv/lib/python3.8/site-packages/uiautomator2/__init__.py", line 435, in __call__ return self.server._jsonrpc_retry_call(self.method, params, File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/venv/lib/python3.8/site-packages/uiautomator2/__init__.py", line 451, in _jsonrpc_retry_call return self._jsonrpc_call(*args, **kwargs) File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/venv/lib/python3.8/site-packages/uiautomator2/__init__.py", line 471, in _jsonrpc_call res = self.http.post("/jsonrpc/0", File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/venv/lib/python3.8/site-packages/requests/sessions.py", line 581, in post return self.request('POST', url, data=data, json=json, **kwargs) File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/venv/lib/python3.8/site-packages/uiautomator2/__init__.py", line 188, in request return super().request(method, url, **kwargs) File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/venv/lib/python3.8/site-packages/uiautomator2/__init__.py", line 108, in request resp = super(TimeoutRequestsSession, File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/venv/lib/python3.8/site-packages/requests/sessions.py", line 533, in request resp = self.send(prep, **send_kwargs) File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/venv/lib/python3.8/site-packages/requests/sessions.py", line 646, in send r = adapter.send(request, **kwargs) File "/Users/xxx/dev/xxx/crawler/appAutoCrawler/AppCrawler/venv/lib/python3.8/site-packages/requests/adapters.py", line 498, in send raise ConnectionError(err, request=request) requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
这个貌似是网络问题?
估计重试即可。
但是貌似感觉又不是 不仅仅是 网络不稳定导致的?
目前问题还是没彻底解决。
暂不能完全肯定之前是公司网络不稳定导致的此处问题。
不能完全排除,是否和此处的uiautomator2有关。
转载请注明:在路上 » 【未解决】安卓自动化测试报错:requests.exceptions.ConnectionError Connection aborted RemoteDisconnected Remote end closed connection without response