AirtestProject / AirtestProject/Poco
多台ios设备连接计算机时,对更早连接计算机的ios设备执行UnityPoco的代码,UnityPoco会直接报错
- Ngôn ngữ chính
- Python
- Star
- 2k
- Fork
- 341
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
**描述问题bug**
多台ios设备连接计算机时,对更早连接计算机的ios设备执行UnityPoco的代码,UnityPoco会直接报错
例如:A和B是两台iPhone,只有A连接计算机,在A上执行自动化脚本,UnityPoco正常执行;再将B连接到计算机,此时重新在A上执行自动化脚本,UnityPoco报错;B拔掉后,在A上执行自动化脚本又能够成功
执行的脚本:
(脚本执行前手机上已有一个unity开发的游戏开启)
```
from poco.drivers.unity3d import UnityPoco
poco_Unity = UnityPoco()
poco_Unity("ServerBtn").click()
```
报错:
```
Traceback (most recent call last):
File "/Users/mtl/projects/venv_py3/lib/python3.7/site-packages/airtest/cli/runner.py", line 65, in runTest
six.reraise(*sys.exc_info())
File "/Users/mtl/projects/venv_py3/lib/python3.7/site-packages/six.py", line 703, in reraise
raise value
File "/Users/mtl/projects/venv_py3/lib/python3.7/site-packages/airtest/cli/runner.py", line 61, in runTest
exec(compile(code.encode("utf-8"), pyfilepath, 'exec'), self.scope)
File "/Users/mtl/projects/test/dragtest.air/dragtest.py", line 8, in
poco_Unity("ServerBtn").click()
File "/Users/mtl/projects/venv_py3/lib/python3.7/site-packages/poco/proxy.py", line 23, in wrapped
return func(proxy, *args, **kwargs)
File "/Users/mtl/projects/venv_py3/lib/python3.7/site-packages/poco/proxy.py", line 332, in click
pos_in_percentage = self.get_position(focus)
File "/Users/mtl/projects/venv_py3/lib/python3.7/site-packages/poco/proxy.py", line 72, in wrapped
return func(proxy, *args, **kwargs)
File "/Users/mtl/projects/venv_py3/lib/python3.7/site-packages/poco/proxy.py", line 613, in get_position
pos = self.attr('pos')
File "/Users/mtl/projects/venv_py3/lib/python3.7/site-packages/poco/proxy.py", line 39, in wrapped
return func(self, *args, **kwargs)
File "/Users/mtl/projects/venv_py3/lib/python3.7/site-packages/poco/proxy.py", line 734, in attr
nodes = self._do_query(multiple=False)
File "/Users/mtl/projects/venv_py3/lib/python3.7/site-packages/poco/proxy.py", line 872, in _do_query
self._nodes = self.poco.agent.hierarchy.select(self.query, multiple)
File "/Users/mtl/projects/venv_py3/lib/python3.7/site-packages/poco/freezeui/hierarchy.py", line 90, in select
return self.selector.select(query, multiple)
File "/Users/mtl/projects/venv_py3/lib/python3.7/site-packages/poco/sdk/Selector.py", line 77, in select
return self.selectImpl(cond, multiple, self.getRoot(), 9999, True, True)
File "/Users/mtl/projects/venv_py3/lib/python3.7/site-packages/poco/sdk/Selector.py", line 71, in getRoot
return self.dumper.getRoot()
File "/Users/mtl/projects/venv_py3/lib/python3.7/site-packages/poco/freezeui/hierarchy.py", line 35, in getRoot
root = Node(self.dumpHierarchy())
File "/Users/mtl/projects/venv_py3/lib/python3.7/site-packages/poco/utils/simplerpc/utils.py", line 13, in new_func
ret, err = cb.wait(timeout=30)
File "/Users/mtl/projects/venv_py3/lib/python3.7/site-packages/poco/utils/simplerpc/simplerpc.py", line 74, in wait
self.agent.update()
File "/Users/mtl/projects/venv_py3/lib/python3.7/site-packages/poco/utils/simplerpc/rpcclient.py", line 64, in update
data = self.conn.recv()
File "/Users/mtl/projects/venv_py3/lib/python3.7/site-packages/poco/utils/simplerpc/transport/tcp/main.py", line 36, in recv
msg_bytes = self.c.recv()
File "/Users/mtl/projects/venv_py3/lib/python3.7/site-packages/poco/utils/simplerpc/transport/tcp/safetcp.py", line 39, in recv
trunk = self.sock.recv(size)
ConnectionResetError: [Errno 54] Connection reset by peer
```
**复现步骤**
1. 手机A连接到电脑,对手机A启动iOS-Tagent
2. iproxy 设置代理
3. 在A上执行脚本,此时顺利执行
4. 手机B连接电脑(不需要启动iOS-Tagent等其它操作)
5. 在A上执行脚本,此时UnityPoco报错
**python 版本:** `python 3.7.9`
**poco 版本:** `1.0.79`
**设备:**
- 型号: iPhone XS
- 系统: iOS 13.3
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Đánh giá
Issue này chưa được đánh giá.