如果想要搭建好Monkey的测试环境,首先几个必要的步骤和环境不能少,分别是:java相关环境、Android SDK环境,启动android虚拟机或连接真机、执行monkey测试
一、java相关环境
1.安装JDK(建议安装最新版JDK下载地址(http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html))默认安装路径C盘;
2.JAVA环境变量的搭建: 我的电脑→右键属性→→环境变量



在系统变量里需找Path,点击编辑添加%JAVA_HOME%\bin;后点击确定

添加完成后,按win+r键打开运行,输入cmd,打开终端,输入java –version或者java或者javac。
如果出现了JAVA的版本信息,说明环境变量设置成功

二、Android studio 工具安装,
1.安装完之后,先设置Android的环境变量,与JAVA一样,先新建ANDROID_HOME环境变量(SDK安装地址),在Path变量中添加 C:\Users\Administrator\AppData\Local\Android\sdk\tools\bin使用;与前面变量值分隔开。
2.安装完成有两个应用程序: “SDK Manager.exe”(负责下载或更新SDK包) 和 "AVD Manager.exe"(负责创建管理虚拟机)。我们先运行“SDK Manager.exe”进行SDK下载,运行后出现下面的界面,我们选择自己想安装的 Android 版本,然后点击“Install X packages”安装。

3.启动我们第一个android环境(即开启虚拟机)
回到文件夹界面,运行 AVD Manager.exe。 2、打开 AVD Manager.exe后,点击“create"创建新的模拟器;步骤 3、创建一个新的 Android Virtual Device (AVD):输入AVD 名称、选择 Target、输入模拟的 SD Card 的容量大小、以及选择外观皮肤 Skin。然后 “Create AVD”。 4、开始运行你新建的模拟器 Virtual Device:选中这个虚拟设备并点击“Start”,在出现的界面上直接点击“unch”就可以启动 Android 模拟器了
4.或者直接夜神模拟器,方便快捷。
三、启动Monkey测试环境
1.cmd进入终端,
2.进入.apk的位置,或直接在.apk位置shift+右键打开终端(如e:)
3.查看是否连接虚拟机,如下图则连接成功。(这一步也许很多同学都连接不上模拟器,随便百度一下就解决了)(adb devices)

4.安装此包到手机或虚拟机,显示下图这安装成功。(adb install 包名.apk)

5.查看报名或问问开发包名 (adb shell pm)
6.monkey 走起。 【(adb shell monkey -p your.package.name(com.jushi.trading) -v 5000) 或adb shell 在shell命令中 monkey -p your.package.name(com.jushi.trading) -v 5000两种方式】


7.跑monkey 并打印日志 adb shell monkey -p 包名 -v 300 >text.txt
四、Monkey 命令 基本参数介绍
-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
卸载软件 adb uninstall <软件名>
-v 用亍指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应的参数如下 表所示: Level 0 : adb shell monkey -p com.shjt.map -v 100 // 缺省值,仅提供启动提示、测试完成和最终结果等少量信息 Level 1 : adb shell monkey -p com.shjt.map -v -v 100 // 提供较为详细的日志,包括每个发送到Activity的事件信息 Level 2 : adb shell monkey -p com.shjt.map -v -v -v 100 // 最详细的日志,包括了测试中选中/未选中的Activity信息
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
--throttle <毫秒> 用亍指定用户操作(即事件)间的时延,单位是毫秒;如果丌指定这个参数,monkey会尽可能快的 生成和发送消息。 示 例:adb shell monkey -p com.shjt.map --throttle 3000 100
调试选项 复制代码 代码如下:
--dbg-no-events:初始化启动的activity,但是不产生任何事件。
--hprof:指定该项后在事件序列发送前后会立即生成分析报告 —— 一般建议指定该项。
--ignore-crashes:忽略崩溃
--ignore-timeouts:忽略超时
--ignore-security-exceptions:忽略安全异常
--kill-process-after-error:发生错误后直接杀掉进程
--monitor-native-crashes:跟踪本地方法的崩溃问题
--wait-dbg:知道连接了调试器才执行monkey测试。
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.ckt.android.junit
产生时间序列的种子值:500 忽略程序崩溃 、 忽略超时 、 监视本地程序崩溃 、 详细信息级别为2 ,产生 10000个事件 。
查看打开的app包名:adb shell dumpsys window w |grep / |grep name=
五.解决连接夜神模拟器的问题:
1、关掉AS和夜神模拟器。同时去任务管理器里看下,adb.exe以及nox_adb.exe这2个进程有没有在运行?有的话就结束掉。
2、找到SDK的目录和夜神模拟器的目录,将SDK目录下的adb.exe文件,复制到夜神模拟器的目录下,因为夜神模拟器目录下原本的adb文件名字叫做nox_adb.exe,因此复制过去之后也得改名为nox_adb.exe。
3、这样就将AS目录下的adb文件和模拟器目录下的adb文件完全同步了,版本号也一致了。此时,可以使用cmd命令查验一下:
C:\Users\leon>adb version Android Debug Bridge version 1.0.36
C:\Users\leon>nox_adb version Android Debug Bridge version 1.0.36
浙公网安备 33010602011771号