monkey测试关机/重启问题分析(一)

monkey测试停止、关机、重启问题分析

关机重启流程原因https://blog.csdn.net/a396604593/article/details/125640406
systemui关机dialoghttps://blog.csdn.net/a396604593/article/details/131092232

1、找到最后一行monkey的log。
发现monkey正常下发事件,自身没有crash

06-04 23:23:38.305  2098 15002 V ShutdownTiming: SendShutdownBroadcast took to complete: 947ms
06-04 23:23:38.305  2098 15002 I ShutdownThread: Shutting down activity manager...
06-04 23:23:38.307  2793  2955 I QCC:JobManager: isLegacyReq ret: false
06-04 23:23:38.307  2793  2955 I QCC:JobService: getMd5Key= 6fff4c679c295ed3f462722ac2b30f17
06-04 23:23:38.308  2793  2955 I QCC:JobService: cancellation request, retKey: 6fff4c679c295ed3f462722ac2b30f17, ver: 13.0, tnx :13
06-04 23:23:38.308  2793  2955 I QCC:JobManager: cancelJobPeriodic clientId: 200
06-04 23:23:38.309  2793  2955 I QCC:JobManager: cancelRequest remove the job
06-04 23:23:38.311  2793  2955 I QCC:JobScheduler: cancelScheduler jobType:5
06-04 23:23:38.314  2098  5235 W InputManager: Input event injection from pid 24736 failed.
06-04 23:23:38.315 24736 24736 I Monkey  :     // Injection Failed
06-04 23:23:38.316 24736 24736 I Monkey  : Sleeping for 500 milliseconds

2、ShutdownThread
发现monkey log前有ShutdownThread相关log,怀疑设备重启导致monkey停掉。
3、找测试抓系统属性
[persist.sys.boot.reason.history]: [reboot,userrequested,1685921077 reboot,userrequested,1685460643 reboot,shell,2940]
最后2次重启都是的原因用户请求
1685921077 === 2023-06-05 07:24:37

1685460643 === 2023-05-30 23:30:43
4、ShutdownCheckPoints
//2435调用系统关机接口

06-04 23:23:37.261  2098 16127 V ShutdownCheckPoints: Binder shutdown checkpoint recorded with pid=2435
06-04 23:23:37.275  2098  2098 V ShutdownCheckPoints: System server shutdown checkpoint recorded
//
06-04 23:23:37.278  2098  2098 D ShutdownThread: Notifying thread to start shutdown longPressBehavior=5
//关机动画
06-04 23:23:37.284  2098  2098 D ShutdownThread: Attempting to use SysUI shutdown UI
06-04 23:23:37.285  2098  2098 D ShutdownThread: SysUI handling shutdown UI
//关机前log信息
06-04 23:23:37.326  2098 15002 I ShutdownThread: Logging pre-reboot information...

5、systemui 下拉后点击关机按钮弹出dialog

06-04 23:23:36.128  2435  2435 W DialogLaunchAnimator: A dialog was launched from a View that does not implement LaunchableView. This can lead to subtle bugs where the visibility of the View we are launching from is not what we expected.

6、monkey点击 534,1360这个点

06-04 23:23:37.133 24736 24736 I Monkey  : :Sending Touch (ACTION_DOWN): 0:(544.0,1372.0)
06-04 23:23:37.137 24736 24736 I Monkey  : :Sending Touch (ACTION_MOVE): 0:(537.3437,1367.299)
06-04 23:23:37.144 24736 24736 I Monkey  : :Sending Touch (ACTION_UP): 0:(534.91095,1360.306)
06-04 23:23:37.146 24736 24736 I Monkey  : Sleeping for 500 milliseconds

7、打开开发者选项中的触摸位置按钮后,发现这个点在restart按钮上
8、关机重启dialog消失log

06-04 23:23:37.151  2435  2435 I DialogLaunchAnimator: Skipping animation of dialog into the touch surface

9、关机流程log
对应上面的ShutdownCheckPoints

06-04 23:23:37.261  2098 16127 V ShutdownCheckPoints: Binder shutdown checkpoint recorded with pid=2435
06-04 23:23:37.275  2098  2098 V ShutdownCheckPoints: System server shutdown checkpoint recorded

结论
由此分析得出,monkey点击到了重启按钮,导致重启。
修改方案见https://blog.csdn.net/a396604593/article/details/131092232

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Monkey测试是一种随机化的测试方法,通常用于测试应用程序的稳定性和兼容性。它会在应用程序中随机生成触摸、滑动、按键等事件,以模拟用户的操作。如果应用程序不能正确处理这些事件,就会导致程序崩溃或出现其他异常情况。 下面是一般的monkey测试报错流程: 1. 生成随机事件:Monkey测试工具会生成随机的触摸、滑动、按键等事件,以模拟用户的操作。 2. 执行随机事件:应用程序会接收到这些随机事件,并进行相应处理。 3. 检查应用程序的响应:Monkey测试工具会检查应用程序的响应,包括界面响应、功能是否正常等。 4. 记录错误:如果应用程序出现了异常情况,Monkey测试工具会记录错误信息并输出日志。 5. 分析错误:测试人员会根据错误信息和日志,分析问题的原因。 6. 修复错误:开发人员根据测试人员提供的错误信息,修复应用程序中的问题。 7. 再次测试:修复后的应用程序会再次进行Monkey测试,以确认问题是否已经解决。 根据上述流程,如果应用程序不能正确地处理随机事件,就会导致程序崩溃或出现其他异常情况。在这种情况下,Monkey测试工具会记录错误信息并输出日志,测试人员根据错误信息和日志,分析问题的原因,开发人员再根据测试人员提供的错误信息,修复应用程序中的问题。最后,修复后的应用程序会再次进行Monkey测试,以确认问题是否已经解决。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值