a455642158 2013-01-10 07:24 采纳率: 100%
浏览 6183
已采纳

monkeyrunner脚本运行一段时间后,与pc连接会有一些问题导致脚本异常该怎么办

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

  • 写回答

1条回答

  • Billy_崔海斌 2013-01-10 09:44
    关注

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

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

    如果是这样,我就有点明白了,问题可能存在于截图上,截图是很耗费usb带宽的行为,而且截图本身并没有被系统特别严格压力测试过,在同时和mr运行的时候会导致adb的一些冲突,导致timeout或者中断的结果,我建议你这样做,理论上可以解决:
    1. 在每次循环运行完成后执行adb kill-service;adb start-service,这样重启adb连接
    2. 如果1不管用,就尽量缩减截图的次数,一点点缩减,直到稳定运行

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 c语言,请帮蒟蒻看一个题
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)