Poco
Poco copied to clipboard
RpcTimeoutError
描述问题bug 几台设备(OPPO R2017/R6007/A31/R3, VIVO Y51A)在测试过程中都遇到RpcTimeoutError报错 1.同一个app下,UI少的界面没问题,UI稍多的界面就会报错 2.同一个UI稍多的界面,用AirtestIDE或者直接poco脚本(简单一句dump)都会报错,用PocoHierarchyViewer怎样刷新都没问题
PS: 把打印打开,看到是socket recv timeout,是safetcp那块有问题? PS2: 单独打了一个Demo包,已发客服大锅,用VIVO Y51A(文档上看到兼容设备列表有)应该能复现的,看到,主界面dump就会报错,打开第一个Graph界面就不会报错
报错信息
======================================================================
ERROR: runTest (app.widgets.code_runner.ide_launcher.AirtestIDECase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "airtest\cli\runner.py", line 66, in runTest
File "site-packages\six.py", line 693, in reraise
File "airtest\cli\runner.py", line 62, in runTest
File "C:\Users\Administrator\AppData\Local\Temp\AirtestIDE\Scripts\untitled.air\untitled.py", line 4, in <module>
print(poco.agent.hierarchy.dump())
File "poco\freezeui\hierarchy.py", line 68, in dump
File "poco\utils\simplerpc\utils.py", line 13, in new_func
File "poco\utils\simplerpc\simplerpc.py", line 78, in wait
poco.utils.simplerpc.simplerpc.RpcTimeoutError: <poco.utils.simplerpc.simplerpc.Callback object at 0x000000000D8689E8>(rid=548523b2-54d3-4f8d-bbbf-28aaed86418e)
分别是PS2中两个界面打印的日志
====[POCO] HandleTcpClientAccepted 1
====[POCO] HandleTcpClientAccepted 2
====[POCO] HandleTcpClientAccepted 3
====[POCO] TCP client 127.0.0.1:43482 has connected.
====[POCO] ContinueReadBuffer
====[POCO] HandleDatagramReceived 1
====[POCO] HandleDatagramReceived 2
====[POCO] HandleTcpClientAccepted 4
====[POCO] HandleDatagramReceived numberOfReadBytes 104
====[POCO] HandleDatagramReceived 4
====[POCO] Client : 127.0.0.1:43482 --> 104
====[POCO] ContinueReadBuffer
====[POCO] Update msgs.Count = 1
====[POCO] Update msg = {"method": "Dump", "params": [true], "jsonrpc": "2.0", "id": "76cf54a8-cd37-4ecb-baa3-89e10d5bfa4a"}
====[POCO] Update response = {"jsonrpc":"2.0","id":"76cf54a8-cd37-4ecb-baa3-89e10d5bfa4a","result":{"name":"<Root>","payload":{"name":"<Root>","type":"Root","visible":true,"pos":[0.0,0.0],"size":[0.0,0.0],"scale":[1.0,1.0],"anchorPoint":[0.5,0.5],"zOrders":{"local":0,"global":0}},"children":[{"name":"[FairyGUI.Timers]","payload":{"name":"[FairyGUI.Timers]","type":"GameObject","visible":true,"pos":[0.0,0.0],"size":[0.0,0.0],"scale":[1.0,1.0],"anchorPoint":[0.0,0.0],"zOrders":{"local":0,"global":0},"clickable":false,"components":["Transform","TimersEngine"],"_ilayer":0,"layer":"Default","_instanceId":-86}},{"name":"Stage","payload":{"name":"Stage","type":"Stage","visible":true,"pos":[0.0,0.0],"size":[0.0,0.0],"scale":[1.0,1.0],"anchorPoint":[0.0,0.0],"zOrders":{"local":0,"global":0},"clickable":false,"components":["Transform","DisplayObjectInfo","StageEngine","UIContentScaler","AudioSource"],"_ilayer":5,"layer":"UI","_instanceId":-72},"children":[{"name":"GRoot","payload":{"name":"GRoot","type":"Root","visible
====[POCO] Update send
====[POCO] Tcp Send datagram.Length = 32926
====[POCO] HandleDatagramReceived 1
====[POCO] HandleDatagramReceived 2
====[POCO] HandleDatagramReceived numberOfReadBytes 0
====[POCO] TCP client 127.0.0.1:43482 has disconnected.
====[POCO] HandleDatagramReceived 3
====[POCO] HandleTcpClientAccepted 1
====[POCO] HandleTcpClientAccepted 2
====[POCO] HandleTcpClientAccepted 3
====[POCO] TCP client 127.0.0.1:43483 has connected.
====[POCO] ContinueReadBuffer
====[POCO] HandleTcpClientAccepted 4
====[POCO] HandleDatagramReceived 1
====[POCO] HandleDatagramReceived 2
====[POCO] HandleDatagramReceived numberOfReadBytes 104
====[POCO] HandleDatagramReceived 4
====[POCO] Client : 127.0.0.1:43483 --> 104
====[POCO] ContinueReadBuffer
====[POCO] Update msgs.Count = 1
====[POCO] Update msg = {"method": "Dump", "params": [true], "jsonrpc": "2.0", "id": "23ca68e0-bfb1-4b39-9706-e797c9842661"}
====[POCO] Update response = {"jsonrpc":"2.0","id":"23ca68e0-bfb1-4b39-9706-e797c9842661","result":{"name":"<Root>","payload":{"name":"<Root>","type":"Root","visible":true,"pos":[0.0,0.0],"size":[0.0,0.0],"scale":[1.0,1.0],"anchorPoint":[0.5,0.5],"zOrders":{"local":0,"global":0}},"children":[{"name":"[FairyGUI.TweenManager]","payload":{"name":"[FairyGUI.TweenManager]","type":"GameObject","visible":true,"pos":[0.0,0.0],"size":[0.0,0.0],"scale":[1.0,1.0],"anchorPoint":[0.0,0.0],"zOrders":{"local":0,"global":0},"clickable":false,"components":["Transform","TweenEngine"],"_ilayer":0,"layer":"Default","_instanceId":-1544}},{"name":"[FairyGUI.Timers]","payload":{"name":"[FairyGUI.Timers]","type":"GameObject","visible":true,"pos":[0.0,0.0],"size":[0.0,0.0],"scale":[1.0,1.0],"anchorPoint":[0.0,0.0],"zOrders":{"local":0,"global":0},"clickable":false,"components":["Transform","TimersEngine"],"_ilayer":0,"layer":"Default","_instanceId":-86}},{"name":"Stage","payload":{"name":"Stage","type":"Stage","visible":true,"pos":[
====[POCO] Update send
====[POCO] Tcp Send datagram.Length = 9432
====[POCO] HandleDatagramReceived 1
====[POCO] HandleDatagramReceived 2
====[POCO] HandleDatagramReceived numberOfReadBytes 0
====[POCO] TCP client 127.0.0.1:43483 has disconnected.
====[POCO] HandleDatagramReceived 3
复现代码
# -*- encoding=utf8 -*-
from poco.drivers.unity3d import UnityPoco
poco = UnityPoco()
print(poco.agent.hierarchy.dump())
python 版本: python3.6.5
poco 版本: 1.0.70
AirtestIDE版本: v1.1.0
设备:
- 型号: OPPO R2017/R6007/A31/R3, VIVO Y51A
@magicedy 我用了vivo Y51A的设备照你说的方式来运行,很多遍都没有出错,而且我这里是远程连接运行,一直没有报错。我们内部使用确实会偶尔出现poco不稳定断开连接的情况,以我经验来看一般来说跟设备状态相关,你可以试试将设备重启一下再试试?
请问下你们给的样例App中UI稍多的界面是哪个?
@adolli 就是第一个界面 @zzldjkzxf 重启过手机还是不行
不过刚刚发现换了一台电脑又没问题。。这个还和电脑有关系吗,不过有问题的电脑之前是import cv2有问题,后来换成opencv-contrib-python==3.2.0.7才可以,不知道有没有关系,还是说电脑配置太低?
但问题是测了其它5,6台手机(nexus 4,一加3T,小米mix2,荣耀7x,小米Note,魅族note5)都没遇到这个问题,真奇怪。那还有什么办法去解决那台电脑的这个报错问题吗
你那个有问题的电脑的什么操作系统?也有可能是主板usb供电不稳定
win 7 sp1台式机,i3-3240,8G内存,intel hd 2500,插的后面板usb,应该不是供电问题吧,问题是ui少的界面是正常的,还有用PocoHierarchyViewer也一直正常
这样看就跟传输量有关了,传输量大容易断,需要进一步看com.netease.poco.pocoservice
的logcat输出了。
今天我在使用mumu模拟器跑测试时,也频繁碰到这个。我的测试内容是:“打开游戏”->"登录“->做加好友的操作”->“关闭游戏” `如此循环。打开/关闭游戏瞬间的数据量会比较大。 log如下:
`ERROR: runTest (main.CustomCase)
Traceback (most recent call last):
File "D:\Python3.7\lib\site-packages\airtest\cli\runner.py", line 66, in runTest
six.reraise(*sys.exc_info())
File "D:\Python3.7\lib\site-packages\six.py", line 693, in reraise
raise value
File "D:\Python3.7\lib\site-packages\airtest\cli\runner.py", line 62, in runTest
exec(compile(code.encode("utf-8"), pyfilepath, 'exec'), self.scope)
File "E:\TestSVN\QA\RO3D\airtest\AddFriends.air\AddFriends.py", line 74, in
我用airtestIDE运行的时候正常,但是换成命令行运行的时候,就报这个错误 [04:35:20][DEBUG]<airtest.utils.nbsp> [minitouch_server]b'Note: device /dev/input/mice is not supported by libevdev' [04:35:20][DEBUG]<airtest.utils.nbsp> [minitouch_server]b'Note: device /dev/input/mouse0 is not supported by libevdev' [04:35:20][DEBUG]<airtest.utils.nbsp> [minitouch_server]b'Note: device /dev/input/event2 was outscored by /dev/input/event1 (21973 >= 21816)' [04:35:20][DEBUG]<airtest.utils.nbsp> [minitouch_server]b'Type B touch device atmel_mxt_ts (719x1279 with 16 contacts) detected on /dev/input/event1 (score 21973)' [04:35:20][DEBUG]<airtest.utils.nbsp> [minitouch_server]b'Note: hard-limiting maximum number of contacts to 10' [04:35:20][DEBUG]<airtest.utils.nbsp> [minitouch_server]b'Connection established' [04:35:20][DEBUG]<airtest.core.android.minitouch> minitouch header:b'v 1\n^ 10 719 1279 255\n$ 19025\n'
ERROR: runTest (airtest.cli.runner.AirtestCase)
Traceback (most recent call last):
File "g:\python\python37-32\lib\site-packages\airtest\cli\runner.py", line 65, in runTest
six.reraise(*sys.exc_info())
File "g:\python\python37-32\lib\site-packages\six.py", line 693, in reraise
raise value
File "g:\python\python37-32\lib\site-packages\airtest\cli\runner.py", line 61, in runTest
exec(compile(code.encode("utf-8"), pyfilepath, 'exec'), self.scope)
File "D:\workSpace\game1\pocoTest\install.air\install.py", line 213, in
这个是咋回事呢?
poco.utils.simplerpc.simplerpc.RpcTimeoutError感觉是个顽疾,,,也不知道有没有优化的一天,,,