weixin_39701861
weixin_39701861
2020-11-25 23:15

ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接。

(请尽量按照下面提示内容填写,有助于我们快速定位和解决问题,感谢配合。否则直接关闭。)

(重要!问题分类) * 控件识别、树状结构、poco库报错 -> 此仓库

描述问题bug 我使用的是UnityPoco,用exists()方法判断游戏登录界面的一些按钮是否存在,第一次启动游戏后使用UnityPoco识别按钮或者点击都正常,然后在python脚本里边kill掉游戏进程,再次重启游戏后,确认PocoManager也是启动ok的,再去重新初始化UnityPoco,然后调用exists()方法判断按钮时就会报错:(以上测试过程中游戏的安装,卸载,启动等都是在脚本中完成,无人工干预) ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接。


报错traceback:
Traceback (most recent call last):
  File "C:\jx3mWork\SmartShadow\SmartShadowAgent\vertest\client\auto_install.py", line 808, in check_ui_view
    if ui_btn.exists():
  File "C:\jx3mWork\SmartShadow\SmartShadowAgent\poco\proxy.py", line 72, in wrapped
    return func(proxy, *args, **kwargs)
  File "C:\jx3mWork\SmartShadow\SmartShadowAgent\poco\proxy.py", line 774, in exists
    return self.attr('visible')
  File "C:\jx3mWork\SmartShadow\SmartShadowAgent\poco\proxy.py", line 39, in wrapped
    return func(self, *args, **kwargs)
  File "C:\jx3mWork\SmartShadow\SmartShadowAgent\poco\proxy.py", line 734, in attr
    nodes = self._do_query(multiple=False)
  File "C:\jx3mWork\SmartShadow\SmartShadowAgent\poco\proxy.py", line 872, in _do_query
    self._nodes = self.poco.agent.hierarchy.select(self.query, multiple)
  File "C:\jx3mWork\SmartShadow\SmartShadowAgent\poco\freezeui\hierarchy.py", line 90, in select
    return self.selector.select(query, multiple)
  File "C:\jx3mWork\SmartShadow\SmartShadowAgent\poco\sdk\Selector.py", line 77, in select
    return self.selectImpl(cond, multiple, self.getRoot(), 9999, True, True)
  File "C:\jx3mWork\SmartShadow\SmartShadowAgent\poco\sdk\Selector.py", line 71, in getRoot
    return self.dumper.getRoot()
  File "C:\jx3mWork\SmartShadow\SmartShadowAgent\poco\freezeui\hierarchy.py", line 35, in getRoot
    root = Node(self.dumpHierarchy())
  File "C:\jx3mWork\SmartShadow\SmartShadowAgent\poco\utils\simplerpc\utils.py", line 12, in new_func
    cb = func(*args, **kwargs)
  File "C:\jx3mWork\SmartShadow\SmartShadowAgent\poco\drivers\std\dumper.py", line 13, in dumpHierarchy
    return self.rpcclient.call("Dump", onlyVisibleNode)
  File "C:\jx3mWork\SmartShadow\SmartShadowAgent\poco\utils\simplerpc\rpcclient.py", line 58, in call
    self.conn.send(msg)
  File "C:\jx3mWork\SmartShadow\SmartShadowAgent\poco\utils\simplerpc\transport\tcp\main.py", line 32, in send
    self.c.send(msg_bytes)
  File "C:\jx3mWork\SmartShadow\SmartShadowAgent\poco\utils\simplerpc\transport\tcp\safetcp.py", line 32, in send
    sent = self.sock.send(msg[totalsent:])
ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接。

复现步骤 1. 启动游戏,初始化UnityPoco 2. 使用exists()方法判断界面按钮 3. 等待第2步操作一段时间(5分钟),然后kill游戏,继续执行步骤1 4. 出现了上述的报错。

预期效果 使用UnityPoco判断游戏界面按钮。

相关截图 (贴出遇到问题时的截图内容,如果有的话)

python 版本: python3.6

poco 版本: 1.0.69

poco版本通过pip freeze可以命令可以查到

设备: - 型号: 华为meta8 - NXT-TL00 - 系统: [Android 6.0] - SDK: 23 - 内存: 3GB

其他相关环境信息 (j运行环境,例如在linux ubuntu16.04上运行异常,在windows上正常。) 脚本运行环境:windows10

该提问来源于开源项目:AirtestProject/Poco

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

5条回答

  • weixin_39891272 weixin_39891272 5月前

    poco暂时没有自动重连功能,可以考虑在kill掉游戏之后重启后,重新初始化一个

    点赞 评论 复制链接分享
  • weixin_39701861 weixin_39701861 5月前

    我知道poco不能自动重连,我是kill掉游戏之后,重新启动游戏后再次初始化UnityPoco的,相当与同样的流程第一次执行没问题,在跑第二次就报错了

    点赞 评论 复制链接分享
  • weixin_39891272 weixin_39891272 5月前

    把kill游戏开始,到poco连不上那段的log都发出来看一下?

    点赞 评论 复制链接分享
  • weixin_39701861 weixin_39701861 5月前

    我是在线程里边使用poco的,主线程只是做任务监控,具体任务内容和poco的使用都是在子线程中完成的,并且对于同一台目标设备同一时间只有一个线程任务再跑的。不知道这个有影响吗?

    点赞 评论 复制链接分享
  • weixin_39701861 weixin_39701861 5月前

    我在跑一下,然后把log发出来

    点赞 评论 复制链接分享

相关推荐