开发者社区> 问答> 正文

monkeyrunner脚本运行一段时间后报异常

脚本运行一段时间(尽可能长)只要与pc连接出现问题,例如设备offline了,那么monkeyrunner源码里的一些方法的那些异常都会报出来,如果我们的脚本里没有捕获这些异常,那么就会层层抛出直至脚本崩溃。目前还不会捕捉这些异常,希望有人解决过类似问题,帮我一把……谢谢。
目前报过的异常有:TimeoutException、AdbCommandRejectedException、Error sending touch event、Error sending press event等等,感觉都是连接有问题导致这些方法调用不了,抛出了源码里的那些方法对应的异常。
现在就想捕获异常,有异常就重启手机,重启后重新运行脚本,可是reboot重启手机的这个方法也是需要连接有效才能正常使用的,愁死人了。
还有一种情况就是脚本运行了很久后不动了,也没报异常,死活不往下运行了

展开
收起
蛮大人123 2016-02-15 13:16:15 4312 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    换手机,不要用一些不稳定的手机。正常手机不会运行monkey的时候突然offline的。

    是monkeyrunner,就是模拟真实手机用户点击应用的操作,每个内容到最后一步截图保存,有异常也截图保存,大概每次跑完有上千张图。然后重复……

    如果是这样,我就有点明白了,问题可能存在于截图上,截图是很耗费usb带宽的行为,而且截图本身并没有被系统特别严格压力测试过,在同时和mr运行的时候会导致adb的一些冲突,导致timeout或者中断的结果,我建议你这样做,理论上可以解决:

    1. 在每次循环运行完成后执行adb kill-service;adb start-service,这样重启adb连接
    2. 如果1不管用,就尽量缩减截图的次数,一点点缩减,直到稳定运行
    2019-07-17 18:43:10
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
15分钟打造你自己的小程序 立即下载
小程序 大世界 立即下载
《15分钟打造你自己的小程序》 立即下载