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不管用,就尽量缩减截图的次数,一点点缩减,直到稳定运行

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

报告相同问题?

悬赏问题

  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退