程序员的大厨梦

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

如果想要搭建好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

posted on 2018-09-20 15:30  程序员的大厨梦  阅读(1015)  评论(0)    收藏  举报