AirtestProject / Poco

A cross-engine test automation framework based on UI inspection
http://airtest.netease.com/
Apache License 2.0
1.74k stars 315 forks source link

遍历操作,执行时报错hrpc.exceptions.RpcRemoteException: java.lang.ClassCastException: com.netease.open.libpoco.Node cannot be cast to java.util.Map #570

Open ArielDing opened 1 year ago

ArielDing commented 1 year ago

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

描述问题bug 遍历操作,执行时报错 hrpc.exceptions.RpcRemoteException: java.lang.ClassCastException: com.netease.open.libpoco.Node cannot be cast to java.util.Map

具体报错log: [Start running..] no cmdline args [17:28:53][DEBUG] C:\Users\admin\AppData\Local\Programs\Python\Python39\Lib\site-packages\airtest\core\android\static\adb\windows\adb.exe devices [17:28:53][DEBUG] C:\Users\admin\AppData\Local\Programs\Python\Python39\Lib\site-packages\airtest\core\android\static\adb\windows\adb.exe devices [17:28:53][DEBUG] C:\Users\admin\AppData\Local\Programs\Python\Python39\Lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -s DB5322AR40256 wait-for-device [17:28:53][DEBUG] C:\Users\admin\AppData\Local\Programs\Python\Python39\Lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -s DB5322AR40256 shell getprop ro.build.version.sdk [17:28:53][DEBUG] C:\Users\admin\AppData\Local\Programs\Python\Python39\Lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -s DB5322AR40256 shell dumpsys activity top [17:28:53][DEBUG] C:\Users\admin\AppData\Local\Programs\Python\Python39\Lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -s DB5322AR40256 shell dumpsys package com.netease.open.pocoservice [17:28:53][DEBUG] C:\Users\admin\AppData\Local\Programs\Python\Python39\Lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -s DB5322AR40256 forward --no-rebind tcp:17809 tcp:10080 [17:28:53][DEBUG] C:\Users\admin\AppData\Local\Programs\Python\Python39\Lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -s DB5322AR40256 forward --no-rebind tcp:13877 tcp:10081 Traceback (most recent call last): File "D:\MaxApp\test_cases\tests_sunmi_AndroidApk\debug.py", line 256, in for cashierList in cashierLists: File "C:\Users\admin\AppData\Local\Programs\Python\Python39\lib\site-packages\poco\proxy.py", line 294, in iter length = len(nodes) File "C:\Users\admin\AppData\Local\Programs\Python\Python39\lib\site-packages\hrpc\object_proxy.py", line 61, in len length = self._client.evaluate(RpcObjectProxy(self._uri__, self._client, path, self)) File "C:\Users\admin\AppData\Local\Programs\Python\Python39\lib\site-packages\hrpc\client.py", line 84, in evaluate raise RpcRemoteException(resp) hrpc.exceptions.RpcRemoteException: java.lang.ClassCastException: com.netease.open.libpoco.Node cannot be cast to java.util.Map

|-- Remote Traceback --|

java.lang.ClassCastException: com.netease.open.libpoco.Node cannot be cast to java.util.Map at com.netease.open.hrpc.backend.RpcServer.onRequest(RpcServer.java:198) 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:761)

|-- Remote Traceback end --| [17:28:54][DEBUG] C:\Users\admin\AppData\Local\Programs\Python\Python39\Lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -s DB5322AR40256 forward --remove tcp:17809 [17:28:54][DEBUG] C:\Users\admin\AppData\Local\Programs\Python\Python39\Lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -s DB5322AR40256 forward --remove tcp:13877 [Finished]

python 版本: python3.9

poco 版本: 1.0.85

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

设备: