Monkey使用和APP报名查看

来源:互联网 发布:淘宝侵犯商标权扣几分 编辑:程序博客网 时间:2024/05/21 15:50

Monkey参数大全


基础参数介绍

1 .-p<允许的包名列表>

用此参数指定一个或多个包。指定包之后,monkey将只允许系统启动指定的app。如果未指定包, monkey将允许系统启动设备中的所有app

指定一个包:adb shell monkey -p com.shjt.map 100

指定多个包:adb shell monkey -p fishjoy.control.menu  –p com.shjt.map  100

2.-v 用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别

  Level0:adb shellmonkey -p com.shjt.map -v 100      // 缺省值,仅提供启动提示、测试完成和最终结果等少量信息

  Level 1:adb shell monkey -p com.shjt.map -v  -v100    // 提供较为详细的日志,包括每个发送到Activity的事件信息

  Level 2:adb shell monkey -p com.shjt.map -v -v  -v 100      // 最详细的日志,包括了测试中选中/未选中的Activity信息

3. -s(随机数种子)

用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的

  monkey测试1:adb shell monkey -p com.shjt.map –s 10 100

  monkey测试2:adb shell monkey -p com.shjt.map –s 10 100

4. -throttle <毫秒> 

  用于指定用户操作(即事件)间的时延,单位是毫秒;如果未指定这个参数,monkey会尽可能快的生成和发送消息

  例:adb shell monkey -p com.shjt.map --throttle 3000100

类别

选项

说明

常规

--help

列出简单的用法

-v

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

事件

-s  <seed>

指定产生随机事件种子值,相同的种子值产生相同的事件序列

--throttle  <milliseconds>

每个事件结束后的间隔时间——降低系统的压力(如不指定,系统会尽快的发送事件序列)

--pct-touch <percent>

指定触摸事件的百分比

--pct-motion <percent>

指定动作事件(滑动)的百分比

--pct-trackball <percent>

指定轨迹事件的百分比(轨迹事件由一个或几个随机的移动组成,有时还伴随有点击)

--pct-nav <percent>

指定“基本”导航事件的百分比

(up/down/left/right)

--pct-majornav <percent>

指定主要导航事件的百分比(中间按键、返回按键、菜单按键)

--pct-syskeys <percent>

指定“系统”按键事件的百分比(Home、Start

Call、End Call以及音量控制键)

--pct-appswitch <percent>

指定activity之间切换百分比

--pct-anyevent <percent>

指定任意事件(其他事件)的百分比

约束条件

-p <allowed-package-name>

用于约束限制,用此参数指定一个或多个包

-c <main-category>

activity必须至少包含一个指定的category,才能被启动,否则启动不了

调试

--dbg-no-events

初始化启动的activity,但是不产生任何事件

--hprof

指定该项后在事件序列发送前后会立即生成分析报告

--ignore-crashes

忽略崩溃(通常,当应用程序崩溃时,Monkey停止运行)

--ignore-timeout

忽略超时(通常,当应用程序遇到任何超时异常,例如:Application Not Responding时,Monkey停止运行)

--ignore-security-exceptions

忽略安全异常(通常,当应用程序发生许可错误时,Monkey停止运行)

--kill-process-after-error

发生错误后直接杀掉进程

--monitor-native-crashes

监视并报告Android系统中本地代码崩溃事件

--wait-dbg

停止执行中的Monkey,直到有调试器和它相连接

 

 

5.实例讲解:

adb shell monkey -p com.xy.android.junit -s 500 --ignore-crashes --ignore-timeouts   --monitor-native-crashes -v -v 10000 > E:\monkey_log\java_monkey_log.txt

说明:monkey作用的包:com.xy.android.junit 产生时间序列的种子值:500  忽略程序崩溃 、 忽略超时 、 监视本地程序崩溃 、详细信息级别为2 , 产生 10000个事件  所产生的日志保存在:E:\monkey_log\java_monkey_log.txt

 

adb shell monkey –s 12345 –v 100

指定随机事件种子值:12345

 

adb shell monkey –pct-motion 100 -v 10

设置滑动事件的的百分比:100%

 

6.在log中搜索4种关键字加以分析:

  1. crash 闪退

2.exception 异常

3.force closed 强制退出

4.anr(application no response)程序无响应

 

7.查看APP的应用包名、Activity方法:

①使用sdk的aapt工具查看应用包名和Activity:

打开cmd,输入命令:

  aapt dump badging [apk的名字]

  例如:aapt dump badging E:\U健康\app-debug-20170727.apk



  ②logcat命令(cmd操作该命令)

   清除logcat内容:adb logcat –c

   启动logcat:adb logcatActivityManager:I *:s;命令启动后,在设备上操作app就会在cmd打印日志了

  ③:dumpsys

启动要查看的程序

在cmd输入命令:adb shell dumpsyswindow w |findstr \/ |findstr name=