uiautomator2
uiautomator2 copied to clipboard
一个奇怪的异常导致我的工具停下
我不太确定这个错误是如何产生的,我在使用uiautomator2做一个自动测试工具,运行一段时间后会出现如附加日志的错误,并且我的工具会停下来,如果您有什么方法可以帮助我catch到这个异常时快速地解决这个问题使我的代码可以继续运行,我将非常感谢!
- 手机型号:安卓模拟器-pixel2-Android8.0
- uiautomator2的版本号:2.9.0
- 相关日志
Traceback (most recent call last):
File "/home/junxin/.local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 426, in _make_request
six.raise_from(e, None)
File "<string>", line 3, in raise_from
File "/home/junxin/.local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 421, in _make_request
httplib_response = conn.getresponse()
File "/usr/lib/python3.6/http/client.py", line 1356, in getresponse
response.begin()
File "/usr/lib/python3.6/http/client.py", line 307, in begin
version, status, reason = self._read_status()
File "/usr/lib/python3.6/http/client.py", line 268, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "/usr/lib/python3.6/socket.py", line 586, in readinto
return self._sock.recv_into(b)
socket.timeout: timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/junxin/.local/lib/python3.6/site-packages/requests/adapters.py", line 449, in send
timeout=timeout
File "/home/junxin/.local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 725, in urlopen
method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
File "/home/junxin/.local/lib/python3.6/site-packages/urllib3/util/retry.py", line 403, in increment
raise six.reraise(type(error), error, _stacktrace)
File "/home/junxin/.local/lib/python3.6/site-packages/urllib3/packages/six.py", line 735, in reraise
raise value
File "/home/junxin/.local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 677, in urlopen
chunked=chunked,
File "/home/junxin/.local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 428, in _make_request
self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
File "/home/junxin/.local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 336, in _raise_timeout
self, url, "Read timed out. (read timeout=%s)" % timeout_value
urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool(host='localhost', port=54721): Read timed out. (read timeout=70)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "setdroid_python/complex.py", line 56, in <module>
run(9)
File "/mnt/hd0/sjl/workspace0529/setdroid_python/setdroid.py", line 254, in run
errors=write_diff(d,d2,strategy,handle,runnum,f3,errors,f_error,error_num)
File "/mnt/hd0/sjl/workspace0529/setdroid_python/setdroid.py", line 25, in write_diff
d.press("home")
File "/home/junxin/.local/lib/python3.6/site-packages/uiautomator2/__init__.py", line 1053, in press
return self.jsonrpc.pressKey(key)
File "/home/junxin/.local/lib/python3.6/site-packages/uiautomator2/__init__.py", line 432, in __call__
http_timeout)
File "/home/junxin/.local/lib/python3.6/site-packages/uiautomator2/__init__.py", line 442, in _jsonrpc_retry_call
self.reset_uiautomator(str(e)) # uiautomator可能出问题了,强制重启一下
File "/home/junxin/.local/lib/python3.6/site-packages/uiautomator2/__init__.py", line 571, in reset_uiautomator
launch_test_app=depth > 0) # uiautomator 2.0
File "/home/junxin/.local/lib/python3.6/site-packages/uiautomator2/__init__.py", line 584, in _force_reset_uiautomator_v2
brand = self.shell("getprop ro.product.brand").output.strip()
File "/home/junxin/.local/lib/python3.6/site-packages/uiautomator2/__init__.py", line 384, in shell
ret = self.http.post("/shell", data=data, timeout=timeout+10)
File "/home/junxin/.local/lib/python3.6/site-packages/requests/sessions.py", line 578, in post
return self.request('POST', url, data=data, json=json, **kwargs)
File "/home/junxin/.local/lib/python3.6/site-packages/uiautomator2/__init__.py", line 201, in request
return super().request(method, url, **kwargs)
File "/home/junxin/.local/lib/python3.6/site-packages/uiautomator2/__init__.py", line 101, in request
self).request(method, url, **kwargs)
File "/home/junxin/.local/lib/python3.6/site-packages/requests/sessions.py", line 530, in request
resp = self.send(prep, **send_kwargs)
File "/home/junxin/.local/lib/python3.6/site-packages/requests/sessions.py", line 643, in send
r = adapter.send(request, **kwargs)
File "/home/junxin/.local/lib/python3.6/site-packages/requests/adapters.py", line 529, in send
raise ReadTimeout(e, request=request)
requests.exceptions.ReadTimeout: HTTPConnectionPool(host='localhost', port=54721): Read timed out. (read timeout=70)
对了,我通过在网上查找曾经通过在catch到异常时用如下代码去试图解决这个问题:
os.popen("adb -s "+d_name+" shell rm /data/local/tmp/atx-agent")
os.popen("adb -s "+d2_name+" shell rm /data/local/tmp/atx-agent")
os.popen("python3 -m uiautomator2 init")
但是仍然无法成功,日志如下,最终工具仍然会停止:
kill process(ps): uiautomator
[D 200610 11:41:38 init:59] Use cached assets: /home/junxin/.uiautomator2/cache/app-uiautomator.apk-81d5349503/app-uiautomator.apk
[D 200610 11:41:39 __init__:319] pm install /data/local/tmp/app-uiautomator.apk
[D 200610 11:41:39 init:59] Use cached assets: /home/junxin/.uiautomator2/cache/app-uiautomator-test.apk-a0b8958cc1/app-uiautomator-test.apk
[D 200610 11:41:39 __init__:319] pm install /data/local/tmp/app-uiautomator-test.apk
[D 200610 11:41:39 __init__:609] uiautomator-v2 is starting ... left: 40.0s
[D 200610 11:41:40 __init__:609] uiautomator-v2 is starting ... left: 39.0s
[I 200610 11:41:41 __init__:566] restart-uiautomator since "uiautomator2.GatewayError(gateway error, time used 0.0s)"
[D 200610 11:41:41 __init__:590] kill process(ps): uiautomator
[D 200610 11:41:41 init:59] Use cached assets: /home/junxin/.uiautomator2/cache/app-uiautomator.apk-81d5349503/app-uiautomator.apk
[D 200610 11:41:41 __init__:319] pm install /data/local/tmp/app-uiautomator.apk
[D 200610 11:41:41 init:59] Use cached assets: /home/junxin/.uiautomator2/cache/app-uiautomator-test.apk-a0b8958cc1/app-uiautomator-test.apk
[D 200610 11:41:41 __init__:319] pm install /data/local/tmp/app-uiautomator-test.apk
[D 200610 11:41:42 __init__:644] grant permissions
[D 200610 11:41:43 __init__:609] uiautomator-v2 is starting ... left: 40.0s
[D 200610 11:41:44 __init__:609] uiautomator-v2 is starting ... left: 39.0s
junxin@lab-workstation:~/sjl/sjl/workspace0529$ [I 200610 11:41:49 init:155] uiautomator2 version: 2.9.0
[I 200610 11:41:49 init:352] Install minicap, minitouch
[D 200610 11:41:49 init:59] Use cached assets: /home/junxin/.uiautomator2/cache/minitouch-7b41fbda87/minitouch
[D 200610 11:41:49 init:232] Push to /data/local/tmp/minitouch:0755
[I 200610 11:41:49 init:356] abi:x86 seems to be android emulator, skip install minicap
[D 200610 11:41:49 init:250] apk-debug package-info: {'version_name': '2.3.1', 'version_code': '2003001', 'flags': ['DEBUGGABLE', 'HAS_CODE', 'ALLOW_CLEAR_USER_DATA', 'ALLOW_BACKUP'], 'first_install_time': datetime.datetime(2020, 6, 9, 10, 55, 57), 'last_update_time': datetime.datetime(2020, 6, 9, 10, 55, 57), 'signature': '8376b3fb'}
[D 200610 11:41:49 init:251] apk-debug-test package-info: {'version_name': '', 'version_code': '', 'flags': ['DEBUGGABLE', 'HAS_CODE', 'ALLOW_CLEAR_USER_DATA', 'ALLOW_BACKUP'], 'first_install_time': datetime.datetime(2020, 6, 9, 10, 55, 57), 'last_update_time': datetime.datetime(2020, 6, 9, 10, 55, 57), 'signature': '8376b3fb'}
[I 200610 11:41:49 init:370] Already installed com.github.uiautomator apks
[I 200610 11:41:49 init:340] Install atx-agent 0.9.4
[D 200610 11:41:49 init:59] Use cached assets: /home/junxin/.uiautomator2/cache/atx-agent_0.9.4_linux_386.tar.gz-1b74688f24/atx-agent_0.9.4_linux_386.tar.gz
[D 200610 11:41:49 init:232] Push to /data/local/tmp/atx-agent:0755
[D 200610 11:41:50 init:162] Shell: ('/data/local/tmp/atx-agent', 'server', '--stop')
[D 200610 11:41:50 init:162] Shell: ('/data/local/tmp/atx-agent', 'server', '--nouia', '-d')
[D 200610 11:41:50 init:162] Shell: ('/data/local/tmp/atx-agent', 'server', '--nouia', '-d')
[I 200610 11:41:50 init:377] Check atx-agent version
[D 200610 11:41:50 init:387] Forward: local:tcp:38201 -> remote:tcp:7912
[D 200610 11:41:50 init:390] atx-agent version 0.9.4
[I 200610 11:41:50 init:155] uiautomator2 version: 2.9.0
[I 200610 11:41:50 init:352] Install minicap, minitouch
[D 200610 11:41:50 init:59] Use cached assets: /home/junxin/.uiautomator2/cache/minitouch-7b41fbda87/minitouch
[D 200610 11:41:50 init:232] Push to /data/local/tmp/minitouch:0755
[I 200610 11:41:50 init:356] abi:x86 seems to be android emulator, skip install minicap
[D 200610 11:41:50 init:250] apk-debug package-info: None
[D 200610 11:41:50 init:251] apk-debug-test package-info: None
[I 200610 11:41:50 init:367] Install com.github.uiautomator, com.github.uiautomator.test 2.3.1
[D 200610 11:41:50 init:162] Shell: ('pm', 'uninstall', 'com.github.uiautomator')
[D 200610 11:41:51 init:162] Shell: ('pm', 'uninstall', 'com.github.uiautomator.test')
[D 200610 11:41:51 init:59] Use cached assets: /home/junxin/.uiautomator2/cache/app-uiautomator.apk-81d5349503/app-uiautomator.apk
[D 200610 11:41:51 init:232] Push to /data/local/tmp/app-uiautomator.apk:0644
[D 200610 11:41:51 init:162] Shell: ('pm', 'install', '-r', '-t', '/data/local/tmp/app-uiautomator.apk')
[I 200610 11:41:51 init:332] - app-uiautomator.apk installed
[D 200610 11:41:51 init:59] Use cached assets: /home/junxin/.uiautomator2/cache/app-uiautomator-test.apk-a0b8958cc1/app-uiautomator-test.apk
[D 200610 11:41:51 init:232] Push to /data/local/tmp/app-uiautomator-test.apk:0644
[D 200610 11:41:51 init:162] Shell: ('pm', 'install', '-r', '-t', '/data/local/tmp/app-uiautomator-test.apk')
[I 200610 11:41:51 init:332] - app-uiautomator-test.apk installed
[I 200610 11:41:51 init:340] Install atx-agent 0.9.4
[D 200610 11:41:51 init:59] Use cached assets: /home/junxin/.uiautomator2/cache/atx-agent_0.9.4_linux_386.tar.gz-1b74688f24/atx-agent_0.9.4_linux_386.tar.gz
[D 200610 11:41:51 init:232] Push to /data/local/tmp/atx-agent:0755
[D 200610 11:41:51 init:162] Shell: ('/data/local/tmp/atx-agent', 'server', '--stop')
[D 200610 11:41:52 init:162] Shell: ('/data/local/tmp/atx-agent', 'server', '--nouia', '-d')
[D 200610 11:41:52 init:162] Shell: ('/data/local/tmp/atx-agent', 'server', '--nouia', '-d')
[I 200610 11:41:52 init:377] Check atx-agent version
[D 200610 11:41:52 init:387] Forward: local:tcp:36009 -> remote:tcp:7912
[D 200610 11:41:52 init:390] atx-agent version 0.9.4
[I 200610 11:41:52 init:155] uiautomator2 version: 2.9.0
[I 200610 11:41:52 init:352] Install minicap, minitouch
[D 200610 11:41:52 init:59] Use cached assets: /home/junxin/.uiautomator2/cache/minitouch-7b41fbda87/minitouch
[D 200610 11:41:52 init:232] Push to /data/local/tmp/minitouch:0755
[I 200610 11:41:52 init:356] abi:x86 seems to be android emulator, skip install minicap
[D 200610 11:41:52 init:250] apk-debug package-info: {'version_name': '2.3.1', 'version_code': '2003001', 'flags': ['DEBUGGABLE', 'HAS_CODE', 'ALLOW_CLEAR_USER_DATA', 'ALLOW_BACKUP'], 'first_install_time': datetime.datetime(2020, 6, 8, 23, 30, 14), 'last_update_time': datetime.datetime(2020, 6, 8, 23, 30, 14), 'signature': '8376b3fb'}
[D 200610 11:41:52 init:251] apk-debug-test package-info: {'version_name': '', 'version_code': '', 'flags': ['DEBUGGABLE', 'HAS_CODE', 'ALLOW_CLEAR_USER_DATA', 'ALLOW_BACKUP'], 'first_install_time': datetime.datetime(2020, 6, 8, 23, 30, 15), 'last_update_time': datetime.datetime(2020, 6, 8, 23, 30, 15), 'signature': '8376b3fb'}
[I 200610 11:41:52 init:370] Already installed com.github.uiautomator apks
[D 200610 11:41:52 init:291] Real version: [0, 9, 4], Expect version: [0, 9, 4]
[D 200610 11:41:52 init:162] Shell: ('/data/local/tmp/atx-agent', 'server', '--nouia', '-d')
[I 200610 11:41:52 init:377] Check atx-agent version
[D 200610 11:41:52 init:387] Forward: local:tcp:46655 -> remote:tcp:7912
[D 200610 11:41:52 init:390] atx-agent version 0.9.4
[I 200610 11:41:53 init:155] uiautomator2 version: 2.9.0
[I 200610 11:41:53 init:352] Install minicap, minitouch
[D 200610 11:41:53 init:59] Use cached assets: /home/junxin/.uiautomator2/cache/minitouch-7b41fbda87/minitouch
[D 200610 11:41:53 init:232] Push to /data/local/tmp/minitouch:0755
[I 200610 11:41:53 init:356] abi:x86 seems to be android emulator, skip install minicap
[D 200610 11:41:53 init:250] apk-debug package-info: {'version_name': '2.3.1', 'version_code': '2003001', 'flags': ['DEBUGGABLE', 'HAS_CODE', 'ALLOW_CLEAR_USER_DATA', 'ALLOW_BACKUP'], 'first_install_time': datetime.datetime(2020, 6, 8, 23, 30, 30), 'last_update_time': datetime.datetime(2020, 6, 8, 23, 30, 30), 'signature': '8376b3fb'}
[D 200610 11:41:53 init:251] apk-debug-test package-info: {'version_name': '', 'version_code': '', 'flags': ['DEBUGGABLE', 'HAS_CODE', 'ALLOW_CLEAR_USER_DATA', 'ALLOW_BACKUP'], 'first_install_time': datetime.datetime(2020, 6, 8, 23, 30, 31), 'last_update_time': datetime.datetime(2020, 6, 8, 23, 30, 31), 'signature': '8376b3fb'}
[I 200610 11:41:53 init:370] Already installed com.github.uiautomator apks
[D 200610 11:41:53 init:291] Real version: [0, 9, 4], Expect version: [0, 9, 4]
[D 200610 11:41:53 init:162] Shell: ('/data/local/tmp/atx-agent', 'server', '--nouia', '-d')
[I 200610 11:41:53 init:377] Check atx-agent version
[D 200610 11:41:53 init:387] Forward: local:tcp:39721 -> remote:tcp:7912
[D 200610 11:41:53 init:390] atx-agent version 0.9.4
Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>
BrokenPipeError: [Errno 32] Broken pipe
看起来是popen的问题,换成subprocess.run试试
命令行
邮箱:[email protected]
签名由 网易邮箱大师 定制
在2020年06月10日 11:54,L 写道: 对了,我通过在网上查找曾经通过在catch到异常时用如下代码去试图解决这个问题: os.popen("adb -s "+d_name+" shell rm /data/local/tmp/atx-agent") os.popen("adb -s "+d2_name+" shell rm /data/local/tmp/atx-agent") os.popen("python3 -m uiautomator2 init")
但是仍然无法成功,日志如下,最终工具仍然会停止: kill process(ps): uiautomator [D 200610 11:41:38 init:59] Use cached assets: /home/junxin/.uiautomator2/cache/app-uiautomator.apk-81d5349503/app-uiautomator.apk [D 200610 11:41:39 init:319] pm install /data/local/tmp/app-uiautomator.apk [D 200610 11:41:39 init:59] Use cached assets: /home/junxin/.uiautomator2/cache/app-uiautomator-test.apk-a0b8958cc1/app-uiautomator-test.apk
[D 200610 11:41:39 init:319] pm install /data/local/tmp/app-uiautomator-test.apk [D 200610 11:41:39 init:609] uiautomator-v2 is starting ... left: 40.0s [D 200610 11:41:40 init:609] uiautomator-v2 is starting ... left: 39.0s [I 200610 11:41:41 init:566] restart-uiautomator since "uiautomator2.GatewayError(gateway error, time used 0.0s)" [D 200610 11:41:41 init:590] kill process(ps): uiautomator [D 200610 11:41:41 init:59] Use cached assets: /home/junxin/.uiautomator2/cache/app-uiautomator.apk-81d5349503/app-uiautomator.apk [D 200610 11:41:41 init:319] pm install /data/local/tmp/app-uiautomator.apk [D 200610 11:41:41 init:59] Use cached assets: /home/junxin/.uiautomator2/cache/app-uiautomator-test.apk-a0b8958cc1/app-uiautomator-test.apk
[D 200610 11:41:41 init:319] pm install /data/local/tmp/app-uiautomator-test.apk [D 200610 11:41:42 init:644] grant permissions [D 200610 11:41:43 init:609] uiautomator-v2 is starting ... left: 40.0s [D 200610 11:41:44 init:609] uiautomator-v2 is starting ... left: 39.0s junxin@lab-workstation:~/sjl/sjl/workspace0529$ [I 200610 11:41:49 init:155] uiautomator2 version: 2.9.0 [I 200610 11:41:49 init:352] Install minicap, minitouch [D 200610 11:41:49 init:59] Use cached assets: /home/junxin/.uiautomator2/cache/minitouch-7b41fbda87/minitouch [D 200610 11:41:49 init:232] Push to /data/local/tmp/minitouch:0755
[I 200610 11:41:49 init:356] abi:x86 seems to be android emulator, skip install minicap [D 200610 11:41:49 init:250] apk-debug package-info: {'version_name': '2.3.1', 'version_code': '2003001', 'flags': ['DEBUGGABLE', 'HAS_CODE', 'ALLOW_CLEAR_USER_DATA', 'ALLOW_BACKUP'], 'first_install_time': datetime.datetime(2020, 6, 9, 10, 55, 57), 'last_update_time': datetime.datetime(2020, 6, 9, 10, 55, 57), 'signature': '8376b3fb'} [D 200610 11:41:49 init:251] apk-debug-test package-info: {'version_name': '', 'version_code': '', 'flags': ['DEBUGGABLE', 'HAS_CODE', 'ALLOW_CLEAR_USER_DATA', 'ALLOW_BACKUP'], 'first_install_time': datetime.datetime(2020, 6, 9, 10, 55, 57), 'last_update_time': datetime.datetime(2020, 6, 9, 10, 55, 57), 'signature': '8376b3fb'}
[I 200610 11:41:49 init:370] Already installed com.github.uiautomator apks [I 200610 11:41:49 init:340] Install atx-agent 0.9.4 [D 200610 11:41:49 init:59] Use cached assets: /home/junxin/.uiautomator2/cache/atx-agent_0.9.4_linux_386.tar.gz-1b74688f24/atx-agent_0.9.4_linux_386.tar.gz [D 200610 11:41:49 init:232] Push to /data/local/tmp/atx-agent:0755
[D 200610 11:41:50 init:162] Shell: ('/data/local/tmp/atx-agent', 'server', '--stop') [D 200610 11:41:50 init:162] Shell: ('/data/local/tmp/atx-agent', 'server', '--nouia', '-d') [D 200610 11:41:50 init:162] Shell: ('/data/local/tmp/atx-agent', 'server', '--nouia', '-d') [I 200610 11:41:50 init:377] Check atx-agent version [D 200610 11:41:50 init:387] Forward: local:tcp:38201 -> remote:tcp:7912 [D 200610 11:41:50 init:390] atx-agent version 0.9.4 [I 200610 11:41:50 init:155] uiautomator2 version: 2.9.0 [I 200610 11:41:50 init:352] Install minicap, minitouch [D 200610 11:41:50 init:59] Use cached assets: /home/junxin/.uiautomator2/cache/minitouch-7b41fbda87/minitouch [D 200610 11:41:50 init:232] Push to /data/local/tmp/minitouch:0755
[I 200610 11:41:50 init:356] abi:x86 seems to be android emulator, skip install minicap [D 200610 11:41:50 init:250] apk-debug package-info: None [D 200610 11:41:50 init:251] apk-debug-test package-info: None [I 200610 11:41:50 init:367] Install com.github.uiautomator, com.github.uiautomator.test 2.3.1 [D 200610 11:41:50 init:162] Shell: ('pm', 'uninstall', 'com.github.uiautomator') [D 200610 11:41:51 init:162] Shell: ('pm', 'uninstall', 'com.github.uiautomator.test') [D 200610 11:41:51 init:59] Use cached assets: /home/junxin/.uiautomator2/cache/app-uiautomator.apk-81d5349503/app-uiautomator.apk [D 200610 11:41:51 init:232] Push to /data/local/tmp/app-uiautomator.apk:0644 [D 200610 11:41:51 init:162] Shell: ('pm', 'install', '-r', '-t', '/data/local/tmp/app-uiautomator.apk') [I 200610 11:41:51 init:332] - app-uiautomator.apk installed [D 200610 11:41:51 init:59] Use cached assets: /home/junxin/.uiautomator2/cache/app-uiautomator-test.apk-a0b8958cc1/app-uiautomator-test.apk
[D 200610 11:41:51 init:232] Push to /data/local/tmp/app-uiautomator-test.apk:0644 [D 200610 11:41:51 init:162] Shell: ('pm', 'install', '-r', '-t', '/data/local/tmp/app-uiautomator-test.apk') [I 200610 11:41:51 init:332] - app-uiautomator-test.apk installed [I 200610 11:41:51 init:340] Install atx-agent 0.9.4 [D 200610 11:41:51 init:59] Use cached assets: /home/junxin/.uiautomator2/cache/atx-agent_0.9.4_linux_386.tar.gz-1b74688f24/atx-agent_0.9.4_linux_386.tar.gz [D 200610 11:41:51 init:232] Push to /data/local/tmp/atx-agent:0755
[D 200610 11:41:51 init:162] Shell: ('/data/local/tmp/atx-agent', 'server', '--stop') [D 200610 11:41:52 init:162] Shell: ('/data/local/tmp/atx-agent', 'server', '--nouia', '-d') [D 200610 11:41:52 init:162] Shell: ('/data/local/tmp/atx-agent', 'server', '--nouia', '-d') [I 200610 11:41:52 init:377] Check atx-agent version [D 200610 11:41:52 init:387] Forward: local:tcp:36009 -> remote:tcp:7912 [D 200610 11:41:52 init:390] atx-agent version 0.9.4 [I 200610 11:41:52 init:155] uiautomator2 version: 2.9.0 [I 200610 11:41:52 init:352] Install minicap, minitouch [D 200610 11:41:52 init:59] Use cached assets: /home/junxin/.uiautomator2/cache/minitouch-7b41fbda87/minitouch [D 200610 11:41:52 init:232] Push to /data/local/tmp/minitouch:0755
[I 200610 11:41:52 init:356] abi:x86 seems to be android emulator, skip install minicap [D 200610 11:41:52 init:250] apk-debug package-info: {'version_name': '2.3.1', 'version_code': '2003001', 'flags': ['DEBUGGABLE', 'HAS_CODE', 'ALLOW_CLEAR_USER_DATA', 'ALLOW_BACKUP'], 'first_install_time': datetime.datetime(2020, 6, 8, 23, 30, 14), 'last_update_time': datetime.datetime(2020, 6, 8, 23, 30, 14), 'signature': '8376b3fb'} [D 200610 11:41:52 init:251] apk-debug-test package-info: {'version_name': '', 'version_code': '', 'flags': ['DEBUGGABLE', 'HAS_CODE', 'ALLOW_CLEAR_USER_DATA', 'ALLOW_BACKUP'], 'first_install_time': datetime.datetime(2020, 6, 8, 23, 30, 15), 'last_update_time': datetime.datetime(2020, 6, 8, 23, 30, 15), 'signature': '8376b3fb'}
[I 200610 11:41:52 init:370] Already installed com.github.uiautomator apks [D 200610 11:41:52 init:291] Real version: [0, 9, 4], Expect version: [0, 9, 4] [D 200610 11:41:52 init:162] Shell: ('/data/local/tmp/atx-agent', 'server', '--nouia', '-d') [I 200610 11:41:52 init:377] Check atx-agent version [D 200610 11:41:52 init:387] Forward: local:tcp:46655 -> remote:tcp:7912 [D 200610 11:41:52 init:390] atx-agent version 0.9.4 [I 200610 11:41:53 init:155] uiautomator2 version: 2.9.0 [I 200610 11:41:53 init:352] Install minicap, minitouch [D 200610 11:41:53 init:59] Use cached assets: /home/junxin/.uiautomator2/cache/minitouch-7b41fbda87/minitouch [D 200610 11:41:53 init:232] Push to /data/local/tmp/minitouch:0755
[I 200610 11:41:53 init:356] abi:x86 seems to be android emulator, skip install minicap [D 200610 11:41:53 init:250] apk-debug package-info: {'version_name': '2.3.1', 'version_code': '2003001', 'flags': ['DEBUGGABLE', 'HAS_CODE', 'ALLOW_CLEAR_USER_DATA', 'ALLOW_BACKUP'], 'first_install_time': datetime.datetime(2020, 6, 8, 23, 30, 30), 'last_update_time': datetime.datetime(2020, 6, 8, 23, 30, 30), 'signature': '8376b3fb'} [D 200610 11:41:53 init:251] apk-debug-test package-info: {'version_name': '', 'version_code': '', 'flags': ['DEBUGGABLE', 'HAS_CODE', 'ALLOW_CLEAR_USER_DATA', 'ALLOW_BACKUP'], 'first_install_time': datetime.datetime(2020, 6, 8, 23, 30, 31), 'last_update_time': datetime.datetime(2020, 6, 8, 23, 30, 31), 'signature': '8376b3fb'}
[I 200610 11:41:53 init:370] Already installed com.github.uiautomator apks
[D 200610 11:41:53 init:291] Real version: [0, 9, 4], Expect version: [0, 9, 4]
[D 200610 11:41:53 init:162] Shell: ('/data/local/tmp/atx-agent', 'server', '--nouia', '-d')
[I 200610 11:41:53 init:377] Check atx-agent version
[D 200610 11:41:53 init:387] Forward: local:tcp:39721 -> remote:tcp:7912
[D 200610 11:41:53 init:390] atx-agent version 0.9.4
Exception ignored in: <_io.TextIOWrapper name='
—You are receiving this because you are subscribed to this thread.Reply to this email directly, view it on GitHub, or unsubscribe. [ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/openatx/uiautomator2/issues/557#issuecomment-641704546", "url": "https://github.com/openatx/uiautomator2/issues/557#issuecomment-641704546", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]
好的,非常感谢,我去试一下
我不太确定这个错误是如何产生的,我在使用uiautomator2做一个自动测试工具,运行一段时间后会出现如附加日志的错误,并且我的工具会停下来,如果您有什么方法可以帮助我catch到这个异常时快速地解决这个问题使我的代码可以继续运行,我将非常感谢!
- 手机型号:安卓模拟器-pixel2-Android8.0
- uiautomator2的版本号:2.9.0
- 相关日志
Traceback (most recent call last): File "/home/junxin/.local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 426, in _make_request six.raise_from(e, None) File "<string>", line 3, in raise_from File "/home/junxin/.local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 421, in _make_request httplib_response = conn.getresponse() File "/usr/lib/python3.6/http/client.py", line 1356, in getresponse response.begin() File "/usr/lib/python3.6/http/client.py", line 307, in begin version, status, reason = self._read_status() File "/usr/lib/python3.6/http/client.py", line 268, in _read_status line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1") File "/usr/lib/python3.6/socket.py", line 586, in readinto return self._sock.recv_into(b) socket.timeout: timed out During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/junxin/.local/lib/python3.6/site-packages/requests/adapters.py", line 449, in send timeout=timeout File "/home/junxin/.local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 725, in urlopen method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2] File "/home/junxin/.local/lib/python3.6/site-packages/urllib3/util/retry.py", line 403, in increment raise six.reraise(type(error), error, _stacktrace) File "/home/junxin/.local/lib/python3.6/site-packages/urllib3/packages/six.py", line 735, in reraise raise value File "/home/junxin/.local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 677, in urlopen chunked=chunked, File "/home/junxin/.local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 428, in _make_request self._raise_timeout(err=e, url=url, timeout_value=read_timeout) File "/home/junxin/.local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 336, in _raise_timeout self, url, "Read timed out. (read timeout=%s)" % timeout_value urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool(host='localhost', port=54721): Read timed out. (read timeout=70) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "setdroid_python/complex.py", line 56, in <module> run(9) File "/mnt/hd0/sjl/workspace0529/setdroid_python/setdroid.py", line 254, in run errors=write_diff(d,d2,strategy,handle,runnum,f3,errors,f_error,error_num) File "/mnt/hd0/sjl/workspace0529/setdroid_python/setdroid.py", line 25, in write_diff d.press("home") File "/home/junxin/.local/lib/python3.6/site-packages/uiautomator2/__init__.py", line 1053, in press return self.jsonrpc.pressKey(key) File "/home/junxin/.local/lib/python3.6/site-packages/uiautomator2/__init__.py", line 432, in __call__ http_timeout) File "/home/junxin/.local/lib/python3.6/site-packages/uiautomator2/__init__.py", line 442, in _jsonrpc_retry_call self.reset_uiautomator(str(e)) # uiautomator可能出问题了,强制重启一下 File "/home/junxin/.local/lib/python3.6/site-packages/uiautomator2/__init__.py", line 571, in reset_uiautomator launch_test_app=depth > 0) # uiautomator 2.0 File "/home/junxin/.local/lib/python3.6/site-packages/uiautomator2/__init__.py", line 584, in _force_reset_uiautomator_v2 brand = self.shell("getprop ro.product.brand").output.strip() File "/home/junxin/.local/lib/python3.6/site-packages/uiautomator2/__init__.py", line 384, in shell ret = self.http.post("/shell", data=data, timeout=timeout+10) File "/home/junxin/.local/lib/python3.6/site-packages/requests/sessions.py", line 578, in post return self.request('POST', url, data=data, json=json, **kwargs) File "/home/junxin/.local/lib/python3.6/site-packages/uiautomator2/__init__.py", line 201, in request return super().request(method, url, **kwargs) File "/home/junxin/.local/lib/python3.6/site-packages/uiautomator2/__init__.py", line 101, in request self).request(method, url, **kwargs) File "/home/junxin/.local/lib/python3.6/site-packages/requests/sessions.py", line 530, in request resp = self.send(prep, **send_kwargs) File "/home/junxin/.local/lib/python3.6/site-packages/requests/sessions.py", line 643, in send r = adapter.send(request, **kwargs) File "/home/junxin/.local/lib/python3.6/site-packages/requests/adapters.py", line 529, in send raise ReadTimeout(e, request=request) requests.exceptions.ReadTimeout: HTTPConnectionPool(host='localhost', port=54721): Read timed out. (read timeout=70)
请问这个问题您解决没有呀?
我遇到同样的错误,请问这个问题有人解决吗
2023-11-24 我用adb,启动atx, 坐标点击 启动UIAUTOMAOTOR,可以解决问题。