AirtestProject / AirtestProject/Poco
ios游戏运行一段时间,几率poco server挂掉
- Vorherrschende Sprache
- Python
- Sterne
- 2k
- Forks
- 341
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
:bulb:**相关项目:** Poco
**标题:** [BUG提交]ios游戏运行一段时间,几率poco server挂掉
**AirtestIDE版本:** 无
- [x] **使用了本地Pyhton环境运行脚本**
- Python版本: python3.8.8
- Airtest版本: v1.2.0
**报错描述:**
iOS unity 游戏运行一段时间(可能10分,也可能1个小时以上),几率poco server挂掉,报错就是simplerpc.py中拉取信息的语句报错。在不关游戏的前提下,此时poco永远连不上了。重启游戏后又正常了。
**相关截图:**
无
**报错Log:**
```
File "/Users/farm-imac1/stf/vendor/auto_test/util/mt_lib.py", line 272, in mt_wait
if apoco.wait(timeout):
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/proxy.py", line 659, in wait
while not self.exists():
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/proxy.py", line 72, in wrapped
return func(proxy, *args, **kwargs)
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/proxy.py", line 774, in exists
return self.attr('visible')
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/proxy.py", line 39, in wrapped
return func(self, *args, **kwargs)
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/proxy.py", line 734, in attr
nodes = self._do_query(multiple=False)
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/proxy.py", line 872, in _do_query
self._nodes = self.poco.agent.hierarchy.select(self.query, multiple)
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/freezeui/hierarchy.py", line 90, in select
return self.selector.select(query, multiple)
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/sdk/Selector.py", line 77, in select
return self.selectImpl(cond, multiple, self.getRoot(), 9999, True, True)
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/sdk/Selector.py", line 71, in getRoot
return self.dumper.getRoot()
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/freezeui/hierarchy.py", line 35, in getRoot
root = Node(self.dumpHierarchy())
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/utils/simplerpc/utils.py", line 13, in new_func
ret, err = cb.wait(timeout=120)
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/utils/simplerpc/simplerpc.py", line 74, in wait
self.agent.update()
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/utils/simplerpc/rpcclient.py", line 68, in update
self.handle_message(msg, self.conn)
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/utils/simplerpc/simplerpc.py", line 163, in handle_message
msg = msg.decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd4 in position 2057433: invalid continuation byte
iOS会出现以上报错,我们把msg保存下来,发现msg是不完整的(没传完)。另外出现这个问题后,游戏不动,拿着iphone连AirtestIDE,是连不上的,报错
initializing Unity poco. ('localhost', 12428)
/Applications/AirtestIDE.app/Contents/MacOS/poco/utils/simplerpc/rpcclient.py:29: DeprecationWarning:
warnings.warn(DeprecationWarning())
[rpc]connected
[Errno 54] Connection reset by peer
[Errno 32] Broken pipe
Traceback (most recent call last):
File "app/plugins/poco/poco_probe.py", line 70, in close
File "/Applications/AirtestIDE.app/Contents/MacOS/poco/utils/simplerpc/rpcclient.py", line 44, in close
self.conn.close()
File "/Applications/AirtestIDE.app/Contents/MacOS/poco/utils/simplerpc/transport/tcp/main.py", line 43, in close
self.c.close()
File "/Applications/AirtestIDE.app/Contents/MacOS/poco/utils/simplerpc/transport/tcp/safetcp.py", line 72, in close
self.sock.shutdown(socket.SHUT_RDWR)
OSError: [Errno 57] Socket is not connected
Traceback (most recent call last):
File "app/plugins/poco/poco_probe.py", line 70, in close
File "/Applications/AirtestIDE.app/Contents/MacOS/poco/utils/simplerpc/rpcclient.py", line 44, in close
self.conn.close()
File "/Applications/AirtestIDE.app/Contents/MacOS/poco/utils/simplerpc/transport/tcp/main.py", line 43, in close
self.c.close()
File "/Applications/AirtestIDE.app/Contents/MacOS/poco/utils/simplerpc/transport/tcp/safetcp.py", line 72, in close
self.sock.shutdown(socket.SHUT_RDWR)
综上,可以判断游戏内poco的Server坏掉了,重启游戏后正常。安卓就没有
也出现过报错信息是如下的,感觉和上面的报错差不多,应该都是一个问题导致
File "/Users/farm-imac1/stf/vendor/auto_test/util/mt_lib.py", line 36, in wrapper
result = func(*args, **kwargs)
File "/Users/farm-imac1/stf/vendor/auto_test/util/mt_lib.py", line 272, in mt_wait
if apoco.wait(timeout):
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/proxy.py", line 659, in wait
while not self.exists():
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/proxy.py", line 72, in wrapped
return func(proxy, *args, **kwargs)
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/proxy.py", line 774, in exists
return self.attr('visible')
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/proxy.py", line 39, in wrapped
return func(self, *args, **kwargs)
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/proxy.py", line 734, in attr
nodes = self._do_query(multiple=False)
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/proxy.py", line 872, in _do_query
self._nodes = self.poco.agent.hierarchy.select(self.query, multiple)
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/freezeui/hierarchy.py", line 90, in select
return self.selector.select(query, multiple)
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/sdk/Selector.py", line 77, in select
return self.selectImpl(cond, multiple, self.getRoot(), 9999, True, True)
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/sdk/Selector.py", line 71, in getRoot
return self.dumper.getRoot()
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/freezeui/hierarchy.py", line 35, in getRoot
root = Node(self.dumpHierarchy())
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/utils/simplerpc/utils.py", line 13, in new_func
ret, err = cb.wait(timeout=120)
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/utils/simplerpc/simplerpc.py", line 74, in wait
self.agent.update()
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/utils/simplerpc/rpcclient.py", line 68, in update
self.handle_message(msg, self.conn)
File "/Users/farm-imac1/miniconda3/lib/python3.8/site-packages/poco/utils/simplerpc/simplerpc.py", line 164, in handle_message
data = json.loads(msg)
File "/Users/farm-imac1/miniconda3/lib/python3.8/json/__init__.py", line 357, in loads
return _default_decoder.decode(s)
File "/Users/farm-imac1/miniconda3/lib/python3.8/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/Users/farm-imac1/miniconda3/lib/python3.8/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 2020981 (char 2020980)
```
**连接设备信息:**
设备类型 | 设备型号 | 系统版本号 | apk名称/下载链接 | 使用的wda版本 | wda更新到最新
------------ | ------------- | ------------- | ------------- | ------------- | -------------
iOS | iphonexr,iphone6s | 14.4 | | Appium/WebDriverAgent | 是
**提供最小可复现此BUG的代码:**
```
无
```
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Bewertung
Dieses Issue wurde noch nicht bewertet.