Android自动化之Monkey测试(二)

本文主要从如下方面进行分享。shell

1、查看应用包名
2、Monkey启动
3、Monkey中止
4、Monkey命令
5、日志分析安全


 1、查看应用包名app

  大多数时候,咱们都是对特定的应用进行monkey测试,所以须要知道该应用的包名。除了能够问开发人员,手机查看,咱们也能够用命令来查看。测试

  在pm命令中输入 pm list package 查看spa

  

2、Monkey启动命令行

  一、经过usb数据线链接手机和电脑,而且手机打开usb调试模式;3d

  二、在cmd中经过adb命令启动:调试

    ①直接经过PC启动:日志

    

    ②经过pm命令启动:code

    

3、Monkey中止

  经过pm命令中止:

  一、经过 ps | grep monkey 查看对应包的进程

  二、经过 kill  pid(注意:pid为对应安装包进程的ID)中止对应的进程

  

4、Monkey命令

经过以上的内容,咱们能够发现,Monkey启动的命令行脚本:monkey [options] <count>

Options表示Monkey执行的可配置参数,是可选项(若是不指定options,monkey将以无反馈模式启动,并把事件任意发送到安装在目标环境中的所有包);

Count表示Monkey执行的事件数,为必选项。

 

Options可简单划分为5类:

一、基本配置类参数

--help:打印帮助信息
-v:指定打印信息的详细级别,一个-v增长一个级别, 默认级别为 0 。最高为2,即-v -v -v

二、事件类型和频率参数

-s:指定产生随机事件种子值,相同的种子值产生相同的事件序列。如: -s 200
--throttle:每一个事件结束后的间隔时间——下降系统的压力(如不指定,系统会尽快的发送事件序列)。如:--throttle 100
--pct-touch:指定触摸事件的百分比,如:--pct-touch 5% , 相关的还有如下option:
--pct-motion <percent> (滑动事件)
--pct-trackball <percent> (轨迹球事件) 
--pct-nav<percent> (导航事件 up/down/left/right)
--pct-majornav<percent> (主要导航事件 back key 、 menu key)
--pct-syskeys<percent> (系统按键事件 Home 、Back 、startCall 、 endCall 、 volumeControl)
--pct-appswitch<percent> (activity之间的切换)
--pct-anyevent<percent>(任意事件)

三、约束限制类参数

-p:指定有效的package(如不指定,则对系统中全部package有效),一个-p 对应一个有效package, 如:-p com.ckt -p com.ckt.asura;
-c:activity必须至少包含一个指定的category,才能被启动,不然启动不了;

四、调试类参数

--dbg-no-events:初始化启动的activity,可是不产生任何事件。
--hprof:指定该项后在事件序列发送先后会当即生成分析报告  —— 通常建议指定该项。
--ignore-crashes:忽略崩溃
--ignore-timeouts:忽略超时
--ignore-security-exceptions:忽略安全异常
--kill-process-after-error:发生错误后直接杀掉进程
--monitor-native-crashes:跟踪本地方法的崩溃问题
--wait-dbg:知道链接了调试器才执行monkey测试。

五、官方隐藏类参数

--pkg-blacklist-file<黑名单文件>--pkg-whitelist-file<白名单文件>-f<脚本文件>

在平常使用monkey时,咱们通常都是将多个options <count> 组合起来使用,实现多个功能。

 

5、日志分析

Monkey运行日志常见的保存方法:

  一、 保存在PC中

  >adb shell monkey [option] <count> >d:\monkey.txt

  执行以上命令,Monkey的日志保存在PC端的d盘下的一个monkey.txt的文件中

  二、保存在手机中

  >adb shell monkey [option] <count> >/mnt/sdcard/monkey.txt

  执行以上命令,Monkey的命令将被保存在手机中的SD卡上的一个monkey.txt的文件中

  三、标注流与错误流分开保存

  >adb shell monkey [option] <count> 1>d:\standard.txt 2>d:\error.txt

  执行以上命令,Monkey的运行日志和异常日志将被分开保存,此时Monkey的运行日志将被保存在standard.txt文件中,而异常日志将被保存在D盘下的error.txt中。

  执行后,能够看到PC的d盘中看见standard.txt和error.txt。

  ①standard.txt显示运行日志。

  ②若是Monkey在执行期间存在Crash(崩溃)或ANR(Application Not Responding,应用程序无响应),error.txt中会显示错误日志。

  注意:这种方法不管是保存在PC仍是手机均可。

相关文章
相关标签/搜索