airtest脚本中连接ios设备时,提示Failed to establish a new connection: [Errno 11001] getaddrinfo failed',))无法连接ios设备
- Dominant language
- Python
- Stars
- 2.6k
- Forks
- 469
- PR merge metrics
- No merged PRs in 30d
Description
代码如下:
# -*- encoding=utf8 -*-
from airtest.core.api import *
from poco.drivers.ios import iosPoco
#连接iOS设备
auto_setup(__file__)
connect_device("iOS:///http+usbmux://xxx")
poco = iosPoco()
日志如下:
Traceback (most recent call last):
File "C:\Users\zyq\Anaconda3\Lib\site-packages\requests\adapters.py", line 440, in send
timeout=timeout
File "C:\Users\zyq\Anaconda3\Lib\site-packages\urllib3\connectionpool.py", line 639, in urlopen
_stacktrace=sys.exc_info()[2])
File "C:\Users\zyq\Anaconda3\Lib\site-packages\urllib3\util\retry.py", line 388, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='http+usbmux', port=80): Max retries exceeded with url: /XXX/status (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 11001] getaddrinfo failed',))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\zyq\Anaconda3\Lib\site-packages\airtest\cli\runner.py", line 28, in setUpClass
setup_by_args(args)
File "C:\Users\zyq\Anaconda3\Lib\site-packages\airtest\cli\runner.py", line 130, in setup_by_args
auto_setup(dirpath, devices, args.log, project_root, args.compress)
File "C:\Users\zyq\Anaconda3\Lib\site-packages\airtest\core\api.py", line 113, in auto_setup
connect_device(dev)
File "C:\Users\zyq\Anaconda3\Lib\site-packages\airtest\core\api.py", line 63, in connect_device
dev = init_device(platform, uuid, **params)
File "C:\Users\zyq\Anaconda3\Lib\site-packages\airtest\core\api.py", line 33, in init_device
dev = cls(uuid, **kwargs)
File "C:\Users\zyq\Anaconda3\Lib\site-packages\airtest\core\ios\ios.py", line 86, in __init__
self.rotation_watcher = RotationWatcher(self)
File "C:\Users\zyq\Anaconda3\Lib\site-packages\airtest\core\ios\rotation.py", line 22, in __init__
self.session = iosHandle.session
File "C:\Users\zyq\Anaconda3\Lib\site-packages\airtest\core\ios\ios.py", line 101, in session
self.defaultSession = self.driver.session()
File "C:\Users\zyq\Anaconda3\Lib\site-packages\wda\__init__.py", line 252, in session
sid = self.status()['sessionId']
File "C:\Users\zyq\Anaconda3\Lib\site-packages\wda\__init__.py", line 191, in status
res = self.http.get('status')
File "C:\Users\zyq\Anaconda3\Lib\site-packages\wda\__init__.py", line 101, in fetch
return self._fetch_no_alert(method, url, data)
File "C:\Users\zyq\Anaconda3\Lib\site-packages\wda\__init__.py", line 107, in _fetch_no_alert
return httpdo(target_url, method, data)
File "C:\Users\zyq\Anaconda3\Lib\site-packages\wda\__init__.py", line 75, in httpdo
response = requests.request(method, url, data=data, timeout=HTTP_TIMEOUT)
File "C:\Users\zyq\Anaconda3\Lib\site-packages\requests\api.py", line 58, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Users\zyq\Anaconda3\Lib\site-packages\requests\sessions.py", line 508, in request
resp = self.send(prep, **send_kwargs)
File "C:\Users\zyq\Anaconda3\Lib\site-packages\requests\sessions.py", line 618, in send
r = adapter.send(request, **kwargs)
File "C:\Users\zyq\Anaconda3\Lib\site-packages\requests\adapters.py", line 508, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='http+usbmux', port=80): Max retries exceeded with url: /XXX/status (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 11001] getaddrinfo failed',))
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at the connect_device and auto_setup entry points, then trace the iOS initialization through ios.py, rotation.py, and the wda session calls shown in the traceback. Reproduce the http+usbmux connection attempt and determine why the status request cannot reach the device; done means a supported iOS connection succeeds without the getaddrinfo error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios, python
- Domain
- mobile-dev
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100