关于monkey
2015-12-18 16:35
169 查看
这个是最近自己通过自学习后做的一个关于Monkey的总结,算是自己学习的一个见证:
Monkey程序是安卓系统下自带的一个测试工具,是用JAVA语言写成:java.jar,在安卓系统的路径为/system/bin/monkey.jar ,Monkey.jar是通过一个名为”monkey”的shell脚本来执行,这个shell脚本存放在android的如下目录/system/bin/monkey ,在执行monkey的shell脚本之前,我们需要配置一下环境。
当在真机上面执行monkey 命令的时候,我们只需要配置一个ADB的工具环境即可,你可以单独下载包含adb.exe的三个文件,也可以使用ADT包下面的,具体我们以ADT包下面的ADB环境配置为例。
假如你的ADT包放在E盘下,ADB在:
E:\adt-bundle-windows-x86-20130917\sdk\platform-tools下面。打开我的电脑-属性-环境变量,打开path一栏,填入E:\adt-bundle-windows-x86-20130917\sdk\platform-tools;
注意后面的 “;”是英文下的,不是中文的“冒号”。
配置好后WIN+R组合键,输入CMD打开命令窗口,输入ADB,会跑出一长串关于ADB的信息,表示你应经配置成功。
您此时可以连接手机真机在窗口命令执行monkey的测试了,当然前提是手机应经root了。
如果您需要使用模拟器运行monkey,那么您还需要做如下的环境配置
刚才ADT包下面包含了JDK,SDK,Eclipse ,请先安装JDK并配置相关的环境变量,仍然是打开我的电脑-属性-环境变量
Path下面填入:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 其中 “;”是用来和其它的软件的路径互相隔离的,注意别漏掉
JAVA_HOME下面填入:C:\Program Files (x86)\Java\jdk1.7.0_45 这是JDK的安装路径
CLASSPATH下面填入:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
配好后请在CMD窗口输入:java -version,可以看到显示java的版本信息,表示已经配置成功。
输入 set path,可以看到各种程序的执行路径,以及path的值
输入set JAVA_HOME 可以看到JDK的安装目录
输入set CLASSPATH可以看到类装在路径
以上就是JDK的环境变量配置
先简单的看一条Monkey命令:adb shell monkey -p com.tcl.gamecenter
这条命令是启动这个com.tcl.gamecenter ,这是一个APK的包名,启动这个APK,因为没有更多的参数去约束它,所以这条命令将会让这个APK漫无目的的运行下去,像个猴子一样在屏幕上面胡乱的点,随机性的。这里 -P是代表包名,一个-P后面都要跟一个包名,如果执行多个包名,就要跟多个-P。
在这里写下常用的各种参数的释义:
-p 后面接包名,一个-P后面接一个包名
-v logo日志的级别,
4000
命令行的每一个 -v 将增加反馈信息的级别。 Level 0( 缺省值 ) 除启动提示、测试完成和最终结果之外,提供较少信息。 Level 1 提供较为详细的测试信息,如逐个发送到 ActivITy 的事件。 Level 2 提供更加详细的设置信息,如测试中被选中的或未被选中的 Activity
-s 伪随机生产数的seed值,如果执行Monkey时使用相同的seed值,将会生产相同的事件序列,这个可以在重复验证修改的问题时加入相同的seed值
示例:adb shell monkey -s 2 -p com.tcl.gamecenter -v -v 10000
这条命令表示从生产monkey事件的seed值为2,生产的日志级别为level 1,执行10000次随机事件
其它的参数:
--throttle 延迟功能,减缓monkey的执行速度,是事件缓慢的被执行
--pct-touch 调整触摸事件的百分比
--pct-motion 调整动作事件的百分比
--pct-nav 调整“基本”导航事件的百分比
--pct-majornav 调整“主要”导航事件的百分比
--pct-syskeys 调整系统按键的百分比
--pct-appswitch 调整启动activity的百分比
--pct-anyevent 调整其它类型事件的百分比
--ignore-tiemouts 发生超时错误时,monkey会继续执行下去不会停止
--ignore-crashes 发生崩盘或者失控异常时,monkey会继续执行不会停止
--ignore-security-exceptions 发生许可错误时,monkey会继续执行不会停止
--kill-process-after-errors 当monkey由于一个错误停止时,应用程序会继续处于运行状态
--monitor-native-crashes监视并报告Android系统中本地代码的崩溃事件。如果设置了--kill-process-after-error,系统将停止运行
--wait-dbg停止执行中的Monkey,直到有调试器和它相连接
--dbg-no-events
设置此选项,Monkey将执行初始启动,进入到一个测试Activity,然后不会再进一步生成事件。为了得到最佳结果,把它与-v、一个或几个包约 束、以及一个保持Monkey运行30秒或更长时间的非零值联合起来,从而提供一个环境,可以监视应用程序所调用的包之间的转换。
--hprof
设置此选项,将在Monkey事件序列之前和之后立即生成profiling报告。这将会在data/misc中生成大文件(~5Mb),所以要小心使用它
一个比较长的示例:adb shell monkey -s 2 -p com.tcl.gamecenter -v -v 10000 --throttle 500 --pct-touch 0 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --kill-process-after-errors 1>e:\error.txt 0<e:\info.txt
补充:ANR信息查看路径
adb shell
cd data/anr/
ll traces.txt
执行monkey script的命令
adb shell monkey -f <scriptfile> <event-count>
<scriptfile>:需要执行的.script脚本,编写后push到手机里面
<event-count>代表执行的次数
Monkey程序是安卓系统下自带的一个测试工具,是用JAVA语言写成:java.jar,在安卓系统的路径为/system/bin/monkey.jar ,Monkey.jar是通过一个名为”monkey”的shell脚本来执行,这个shell脚本存放在android的如下目录/system/bin/monkey ,在执行monkey的shell脚本之前,我们需要配置一下环境。
当在真机上面执行monkey 命令的时候,我们只需要配置一个ADB的工具环境即可,你可以单独下载包含adb.exe的三个文件,也可以使用ADT包下面的,具体我们以ADT包下面的ADB环境配置为例。
假如你的ADT包放在E盘下,ADB在:
E:\adt-bundle-windows-x86-20130917\sdk\platform-tools下面。打开我的电脑-属性-环境变量,打开path一栏,填入E:\adt-bundle-windows-x86-20130917\sdk\platform-tools;
注意后面的 “;”是英文下的,不是中文的“冒号”。
配置好后WIN+R组合键,输入CMD打开命令窗口,输入ADB,会跑出一长串关于ADB的信息,表示你应经配置成功。
您此时可以连接手机真机在窗口命令执行monkey的测试了,当然前提是手机应经root了。
如果您需要使用模拟器运行monkey,那么您还需要做如下的环境配置
刚才ADT包下面包含了JDK,SDK,Eclipse ,请先安装JDK并配置相关的环境变量,仍然是打开我的电脑-属性-环境变量
Path下面填入:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 其中 “;”是用来和其它的软件的路径互相隔离的,注意别漏掉
JAVA_HOME下面填入:C:\Program Files (x86)\Java\jdk1.7.0_45 这是JDK的安装路径
CLASSPATH下面填入:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
配好后请在CMD窗口输入:java -version,可以看到显示java的版本信息,表示已经配置成功。
输入 set path,可以看到各种程序的执行路径,以及path的值
输入set JAVA_HOME 可以看到JDK的安装目录
输入set CLASSPATH可以看到类装在路径
以上就是JDK的环境变量配置
先简单的看一条Monkey命令:adb shell monkey -p com.tcl.gamecenter
这条命令是启动这个com.tcl.gamecenter ,这是一个APK的包名,启动这个APK,因为没有更多的参数去约束它,所以这条命令将会让这个APK漫无目的的运行下去,像个猴子一样在屏幕上面胡乱的点,随机性的。这里 -P是代表包名,一个-P后面都要跟一个包名,如果执行多个包名,就要跟多个-P。
在这里写下常用的各种参数的释义:
-p 后面接包名,一个-P后面接一个包名
-v logo日志的级别,
4000
命令行的每一个 -v 将增加反馈信息的级别。 Level 0( 缺省值 ) 除启动提示、测试完成和最终结果之外,提供较少信息。 Level 1 提供较为详细的测试信息,如逐个发送到 ActivITy 的事件。 Level 2 提供更加详细的设置信息,如测试中被选中的或未被选中的 Activity
-s 伪随机生产数的seed值,如果执行Monkey时使用相同的seed值,将会生产相同的事件序列,这个可以在重复验证修改的问题时加入相同的seed值
示例:adb shell monkey -s 2 -p com.tcl.gamecenter -v -v 10000
这条命令表示从生产monkey事件的seed值为2,生产的日志级别为level 1,执行10000次随机事件
其它的参数:
--throttle 延迟功能,减缓monkey的执行速度,是事件缓慢的被执行
--pct-touch 调整触摸事件的百分比
--pct-motion 调整动作事件的百分比
--pct-nav 调整“基本”导航事件的百分比
--pct-majornav 调整“主要”导航事件的百分比
--pct-syskeys 调整系统按键的百分比
--pct-appswitch 调整启动activity的百分比
--pct-anyevent 调整其它类型事件的百分比
--ignore-tiemouts 发生超时错误时,monkey会继续执行下去不会停止
--ignore-crashes 发生崩盘或者失控异常时,monkey会继续执行不会停止
--ignore-security-exceptions 发生许可错误时,monkey会继续执行不会停止
--kill-process-after-errors 当monkey由于一个错误停止时,应用程序会继续处于运行状态
--monitor-native-crashes监视并报告Android系统中本地代码的崩溃事件。如果设置了--kill-process-after-error,系统将停止运行
--wait-dbg停止执行中的Monkey,直到有调试器和它相连接
--dbg-no-events
设置此选项,Monkey将执行初始启动,进入到一个测试Activity,然后不会再进一步生成事件。为了得到最佳结果,把它与-v、一个或几个包约 束、以及一个保持Monkey运行30秒或更长时间的非零值联合起来,从而提供一个环境,可以监视应用程序所调用的包之间的转换。
--hprof
设置此选项,将在Monkey事件序列之前和之后立即生成profiling报告。这将会在data/misc中生成大文件(~5Mb),所以要小心使用它
一个比较长的示例:adb shell monkey -s 2 -p com.tcl.gamecenter -v -v 10000 --throttle 500 --pct-touch 0 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --kill-process-after-errors 1>e:\error.txt 0<e:\info.txt
补充:ANR信息查看路径
adb shell
cd data/anr/
ll traces.txt
执行monkey script的命令
adb shell monkey -f <scriptfile> <event-count>
<scriptfile>:需要执行的.script脚本,编写后push到手机里面
<event-count>代表执行的次数
相关文章推荐
- Android中SharedPreferences实现
- Codeforce 467C. George and Job(DP)
- 【实验一】bashrc source nfs tftpd-hpa
- Activity之间的数据交换(简单的数据,类对象,图片)
- 交叉编译使用libjpeg
- 查找excel表最后一行的方法之一
- promise踩坑
- 利用java反射机制,实现对类的私有变量和私有方法的访问
- 定时器,获取验证码
- Java日期计算之Joda-Time
- 标准linu休眠和唤醒机制分析(四)
- 获取LayoutInflater的三种方法
- 小马哥----精仿OPPO R7机型 与行货一样的芯片6735 roots刷机拆机图与开机界面图
- android目录简介
- QT学习笔记
- JS中的事件大全
- I.MX6 修改调试串口号(ttymx0 -> ttymxc2)
- android开发框架(一)HTTP通信
- fstab
- 速途研究院联合融云:中国移动社交沟通指数报告