python weditor报错 jsonrpc call got: -32001,ATX应用原因导致uiautomator脚本报错

问题现象

压测开始时,uiautomator运行一切正常

当跑了一段时间后,脚本突然报找不到元素

-32002 Client error: <> data: Selector [resourceId='android:id/title', text='Network & internet'], method: None

而安卓设备又正好停留在当前元素的界面,手动调试一番仍然找不到元素

先验证了uiautomator相关的press("home")方法可以下发,没有报错,界面也没有响应;然后pyinstaller -m weditor运行查看页面时,刷新实时界面时,报了以下问题

C:\Users\test>python -m weditor
listening on http://10.38.180.201:17310
[I 240619 13:34:21 web:2344] 304 GET / (::1) 6.00ms
[I 240619 13:34:22 web:2344] 304 GET /api/v1/version (::1) 1.00ms
[I 240619 13:34:22 shell:47] Started drain subprocess stdout in thread
[I 240619 13:34:22 web:2344] 101 GET /ws/v1/python (::1) 293.51ms
[I 240619 13:34:22 shell:189] create process pid: 35128
[I 240619 13:34:29 web:2344] 200 POST /api/v1/connect (::1) 2282.54ms
[I 240619 13:34:31 web:2344] 200 POST /api/v1/connect (::1) 2296.53ms
[W 240619 13:34:31 web:2344] 404 GET /undefined (::1) 0.00ms
[I 240619 13:34:31 page:207] Serial: Android:014000
[I 240619 13:34:32 web:2344] 200 GET /api/v1/devices/Android%3A014000/screenshot (::1) 1070.87ms
[W 240619 13:34:35 __init__:492] [pid:35704] [014000] jsonrpc call got: -32001 Jsonrpc error: <java.lang.NullPointerException> data: java.lang.NullPointerException: Attempt to read from field 'int android.accessibilityservice.AccessibilityServiceInfo.flags' on a null object reference in method 'void androidx.test.uiautomator.UiDevice.setCompressedLayoutHeirarchy(boolean)'
        at androidx.test.uiautomator.UiDevice.setCompressedLayoutHeirarchy(UiDevice.java:234)
        at com.github.uiautomator.stub.AutomatorServiceImpl.dumpWindowHierarchy(AutomatorServiceImpl.java:295)
        at com.github.uiautomator.stub.AutomatorServiceImpl.dumpWindowHierarchy(AutomatorServiceImpl.java:284)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.googlecode.jsonrpc4j.JsonRpcBasicServer.invoke(JsonRpcBasicServer.java:467)
        at com.googlecode.jsonrpc4j.JsonRpcBasicServer.handleObject(JsonRpcBasicServer.java:352)
        at com.googlecode.jsonrpc4j.JsonRpcBasicServer.handleJsonNodeRequest(JsonRpcBasicServer.java:283)
        at com.googlecode.jsonrpc4j.JsonRpcBasicServer.handleRequest(JsonRpcBasicServer.java:251)
        at com.github.uiautomator.stub.AutomatorHttpServer.serve(AutomatorHttpServer.java:100)
        at fi.iki.elonen.NanoHTTPD.serve(NanoHTTPD.java:2244)
        at fi.iki.elonen.NanoHTTPD$HTTPSession.execute(NanoHTTPD.java:945)
        at fi.iki.elonen.NanoHTTPD$ClientHandler.run(NanoHTTPD.java:192)
        at java.lang.Thread.run(Thread.java:1012)
    , method: dumpWindowHierarchy
[D 240619 13:34:37 __init__:661] [pid:35704] [014000] kill process(ps): uiautomator
[E 240619 13:34:38 web:1871] Uncaught exception GET /api/v2/devices/Android%3A014000/hierarchy (::1)

同时找来另一台设备,相同的脚本正常测试无异常;于是从出问题手机内部寻找问题

解决方式

考虑到weditor是atx生态下的工具,打开手机内部的atx应用,点击”刷新服务状态“发现返回信息为false,重新启动uiautomator后,一切正常了,原来问题就出在atx上面

找到了解决办法,但是哪一步导致atx uiautomator状态变成false的还是不清楚

  • 20
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值