找包名

直接获得目前打开的app的包名以及启动页(Activity)

adb shell dumpsys window w |findstr \/ |findstr name=

adb monkey app压力测试

还可以去读文件获取包名

 

路径 data/app 第三方安装的app

 

adb monkey app压力测试

用adb命令快速查看某应用appPackage及appActivity的方法

  1> adb shell pm list packages                                         列出所有的包名(不知道包名的情况,需要执行查找包名)appPackage

注:加上-3显示第三方安装的安装包

  2> adb shell dumpsys package XXX                               查看某个包的具体信息(前提是需要知道包名是什么)      appActivity

  3> adb shell dumpsys activity | grep mFocusedActivity  查看当前resume的是哪个activity 

  4> adb logcat | grep ActivityManager                              查看当前正在运行的Activity

  5> adb logcat | grep Displayed                                        查看当前正在运行的Activity

 

monkey 指令及用法

monkey常用参数

-p  指定包名 (所有命令都在此包内执行,如不指定,则在整个系统内执行)

-v  log详细程度(最高支持’-v -v -v’最详细) 

-s  种子 (指定种子后,同一条命令在任意时间、地点的执行顺序都相同)

--throttle  单步延时(每步操作间隔,单位毫秒)

--kill-process-after-error  出错时杀掉进程

--ignore-timeouts  忽略超时错误

--ignore-security-exceptions  忽略许可错误

基本参数

说明

-p <allowed-package-name>

指定一个或多个包

-s <seed>

指定一个随机数生成器的seed值

--throttle <milliseconds>

指定事件之间的固定延迟(ms)

-v

指定反馈信息级别(信息级别就是日志的详细程度)

-c <main-category>

指定一个或多个类别名

-f <scriptfile>

运行指定的monkey脚本

事件参数

说明

--pct-touch <percent>

指定触摸事件百分比

--pct-motion <percent>

指定动作事件百分比

--pct-trackball <percent>

指定轨迹事件百分比

--pct-syskeys <percent>

指定系统按键事件百分比

--pct-nav <percent>

指定基本导航事件百分比

--pct-majornav <percent>

指定主要导航事件百分比

--pct-appswitch <percent>

指定应用启动事件百分比

--pct-flip <percent>

指定flip(弹)事件的百分比

--pct-anyevent <percent>

指定其他类型事件百分比

--pct-pinchzoom <percent>

指定缩放(捏)事件百分比

--pct-permission <percent>

指定

 

调试参数

说明

--ignore-crashes

忽略因崩溃或异常引起的停止运行

--ignore-timeouts

忽略应用发生超时错误(ANR)

--ignore-security-exceptions

忽略应用发生任何权限错误

--monitor-native-crashes

监视并报告monkey运行时native code的崩溃事件

--ignore-native-crashes

忽略因native code的崩溃事件

--kill-process-after-error

在应用出错后通知系统杀死发生错误的进程

--hprof

在事件序列前后立即生成profilfing report

--dbg-no-events

监视应用程序所调用的包之间的转换

--wait-dbg

暂停执行中的monkey,直到有调试器与它连接

 

 

举例:

adb monkey app压力测试

adb shell monkey  -p com.motk -v -v -v -s 12 --throttle 5001000

 

 

日志分析

 

1、查找出差步骤:

a、找到monkey里哪个地方出错

查看Monkey执行的是哪一个Activity,在switch后面找,两个swtich之间如果出现了崩溃或其他异常,可以在该Activity中查找问题的所在。

 

 

adb monkey app压力测试               

 

b、查看Monkey里面出错前的一些事件动作,手动执行该动作

     Sleeping for XX milliseconds这是执行Monkey测试时,throttle设定的间隔时间,每出现一次,就代表一个事件,

     Sending XX 就是代表一个操作,如下图的两个操作 应该就是一个点击事件。   adb monkey app压力测试  

 

c、若以上步骤还不能找出,则可以使用之前一样的seek再执行monkey命令一遍,便于复现

2、测试结果分析:

a、程序无响应,ANR问题:在日志中搜索“ANR”

b、崩溃问题:在日志中搜索“CRASH”

c、其他问题:在日志中搜索”Exception”

相关文章:

  • 2022-01-09
  • 2021-09-18
  • 2021-05-21
  • 2021-09-28
  • 2021-12-04
  • 2022-03-06
  • 2021-06-25
猜你喜欢
  • 2021-12-25
  • 2021-04-16
  • 2021-04-13
  • 2021-11-23
  • 2022-12-23
  • 2021-09-26
  • 2022-01-26
相关资源
相似解决方案