AirtestProject / AirtestProject/Poco

脚本长时间运行后,poco调用java代码出错,报错:hrpc.exceptions.RpcRemoteException: java.lang.IndexOutOfBoundsException

Đang mở
#398 5 bình luận 1 reaction 0 người được giao Xem trên GitHub
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ả

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

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

**描述问题bug**

编写的脚本任务是爬取评论,当脚本长时间执行的时候,airtest会报RpcRemoteException,短时间执行不会出错。
```
======================================================================
ERROR: runTest (app.widgets.code_runner.ide_launcher.AirtestIDECase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "airtest\cli\runner.py", line 65, in runTest
File "site-packages\six.py", line 693, in reraise
File "airtest\cli\runner.py", line 61, in runTest
File "D:\airtest\airtestProject\vivoComment.air\vivoComment.py", line 40, in
if (mynode.offspring("com.bbk.appstore:id/comment_user").exists() and
File "D:\airtest\AirtestIDE_2020-01-21_py3_win64\AirtestIDE_2020-01-21_py3_win64\poco\proxy.py", line 72, in wrapped
return func(proxy, *args, **kwargs)
File "D:\airtest\AirtestIDE_2020-01-21_py3_win64\AirtestIDE_2020-01-21_py3_win64\poco\proxy.py", line 774, in exists
return self.attr('visible')
File "D:\airtest\AirtestIDE_2020-01-21_py3_win64\AirtestIDE_2020-01-21_py3_win64\poco\proxy.py", line 39, in wrapped
return func(self, *args, **kwargs)
File "D:\airtest\AirtestIDE_2020-01-21_py3_win64\AirtestIDE_2020-01-21_py3_win64\poco\proxy.py", line 734, in attr
nodes = self._do_query(multiple=False)
File "D:\airtest\AirtestIDE_2020-01-21_py3_win64\AirtestIDE_2020-01-21_py3_win64\poco\proxy.py", line 872, in _do_query
self._nodes = self.poco.agent.hierarchy.select(self.query, multiple)
File "D:\airtest\AirtestIDE_2020-01-21_py3_win64\AirtestIDE_2020-01-21_py3_win64\poco\utils\retry.py", line 15, in wrapped
return func(*args, **kwargs)
File "D:\airtest\AirtestIDE_2020-01-21_py3_win64\AirtestIDE_2020-01-21_py3_win64\poco\utils\hrpc\hierarchy.py", line 33, in select
return self.selector.select(query, multiple)
File "hrpc\object_proxy.py", line 92, in __call__
File "hrpc\client.py", line 81, in evaluate
hrpc.exceptions.RpcRemoteException: java.lang.IndexOutOfBoundsException:

|-- Remote Traceback --|

java.lang.IndexOutOfBoundsException
at java.util.LinkedList.get(LinkedList.java:519)
at com.netease.open.libpoco.sdk.Selector.selectImpl(Selector.java:93)
at com.netease.open.libpoco.sdk.Selector.selectImpl(Selector.java:66)
at com.netease.open.libpoco.sdk.Selector.select(Selector.java:37)
at java.lang.reflect.Method.invoke(Native Method)
at com.netease.open.hrpc.backend.RpcServer.onRequest(RpcServer.java:171)
at com.netease.open.hrpc.backend.RpcServer.serve(RpcServer.java:57)
at fi.iki.elonen.NanoHTTPD$HTTPSession.execute(NanoHTTPD.java:840)
at fi.iki.elonen.NanoHTTPD$ClientHandler.run(NanoHTTPD.java:189)
at java.lang.Thread.run(Thread.java:818)

|-- Remote Traceback end --|

----------------------------------------------------------------------
Ran 1 test in 861.010s

FAILED (errors=1)
[02:05:03][DEBUG] D:\airtest\AirtestIDE_2020-01-21_py3_win64\AirtestIDE_2020-01-21_py3_win64\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s f709dc0c7d23 forward --remove tcp:16150
[02:05:03][DEBUG] D:\airtest\AirtestIDE_2020-01-21_py3_win64\AirtestIDE_2020-01-21_py3_win64\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s f709dc0c7d23 forward --remove tcp:17360
[02:05:03][DEBUG] D:\airtest\AirtestIDE_2020-01-21_py3_win64\AirtestIDE_2020-01-21_py3_win64\airtest\core\android\static\adb\windows\adb.exe -P 5037 -s f709dc0c7d23 forward --remove tcp:13708
[Finished]

============================================================

```

**复现步骤**
1. 点击运行脚本
2.长时间运行后就会出错,大约15分钟开始报错并停止执行脚本,此时大约爬取到200条评论信息。

**预期效果**
一直执行到爬取到所有的评论为止,大约7万余条

**相关截图**
(贴出遇到问题时的截图内容,如果有的话)
![批注 2020-06-30 150900](https://user-images.githubusercontent.com/15981811/86094911-baa5ec00-bae3-11ea-93eb-fcbbb1c74a41.png)

**python 版本:** `python3.6`

**poco 版本:** `1.0.79`

**设备:** 小米
- 型号: [redmi 3s]
- 系统: [Android 6.0.1]

**其他相关环境信息**
(windows上运行,无论是airtest ide还是pychram,长时间运行脚本,都会报同样的错误)

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á.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.