Monkey 部署环境

Monkey的介绍
它是Android系统自带一个命令行工具,可以运行在模拟器里或者真是设备中运行。
Monkey是发送伪随机用户事件的工具。

Monkey向系统发送伪随机的用户事件流,实现对正在开发的应用程序进行压力测试。

通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常。

monkey测试的原理就是利用socket通讯的方式来模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常。当Monkey程序在模拟器或设备运行的时候,如果用户出发了比如点击,触摸,手势或一些系统级别的事件的时候,它就会产生随机脉冲,所以可以用Monkey用随机重复的方法去负荷测试你开发的软件。

Monkey主要用于Android的压力测试,自动的一个压力测试小工具,主要目的就是为了测试APP是否会Crash。开发人员结合monkey 打印的日志和系统打印的日志,分析测试中的问题。

Monkey是Android SDK提供的一个命令行工具,可以简单方便的发送伪随机的用户事件流,对Android APP做压力(稳定性)测试,主要是为了测试app是否存在无响应和崩溃的情况。

Monkey是SDK中附带的一个工具。Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。

Monkey包括很多选项,大致四大类:
1.基本配置选项,如设置尝试的事件数量。
2.运行约束选项,如设置只对单独的一个包进行测试。
3.事件类型和频率。
4.调试选项

Monkey命令特性
不可能使用monkey来指定做一样测试,重复做很多次。因为monkey产生的是伪随机的事件流。但是我们可以通过添加命令选项将操作限制在一定的范围内。Monkey测试,所有的事件都是随机产生的,不带任何人的主观性。

1、测试的对象仅为应用程序包,有一定的局限性。
2、Monkey测试使用的事件数据流是随机的,不能进行自定义。
3、可对Monkey测试的对象,事件数量,类型,频率等进行设置。

每台android手机里都有Monkey工具,但是我们是看不到的,因为,Monkey不是一个可视化的工具,例如手机里的微信,这是一个可视化的,能打开,有图形化界面,但是Monkey没有。

(1) Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是: /system/framework/monkey.jar;
(2) Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中 的存放路径是:/system/bin/monkey;
(3)Monkey 命令启动方式:
A)可以通过PC机CMD窗口中执行: adb shell monkey {+命令参数}来进行Monkey测试;
B)在PC上adb shell 进入Android系统,通过执行 monkey {+命令参数} 来进行Monkey 测试;
C)在Android机或者模拟器上直接执行monkey 命令,可以在Android机上安装Android终端模拟器。

手机里如何与Monkey进行通讯?需要借助ADB才能与Monkey进行通讯。


搭建Monkey测试环境:
第一步:安装Java JDK;
第二步:安装android SDK。

Java JDK环境变量配置
1) 新建 JAVA_HOME 环境变量
例如:
环境变量名:JAVA_HOME
变量值(安装目录):d:\Program Files\Java\jdk1.8.0_161
2)修改 path 环境变量,在path变量尾部添加%JAVA_HOME%\bin
例如:
环境变量:Path
变量值:%JAVA_HOME%\bin;

3)新建 CLASSPATH环境变量:
例如:
变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\tools.jar
说明:
jdk 需要配置三个环境变量;
1.5之后可以不再设置classpath,但建议保留classpath设置。

验证 java 和 javac 命令
1)打开cmd命令行窗口,输入 java ,回车执行,出现如下图显示信息。

2)输入javac 命令,回车执行

得到以上java和javac命令输出表明JDK安装配置成功。

下载Android SDK:www.android-studio.org

Andorid SDK环境配置

1、新建ANDROID_HOME系统环境变量
变量名:ANDROID_HOME
变量值:D:\Program Files\Java\Android\android-sdk

2、在系统变量名path的值添加
%ANDROID_HOME%\platform-tools 和%ANDROID_HOME%tools

命令行模式输入“adb”,出现以下界面说明配置成功。

Android 常用 adb 命令总结
针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Android 测试带来很大的方便,其中很多命令将会用于自动化测试的脚本当中。

Android Debug Bridge
adb 其实就是 Android Debug Bridge, Android 调试桥的缩写,adb 是一个 C/S 架构的命令行工具,主要由 3 部分组成:

1、 运行在 PC 端的 Client : 可以通过它对 Android 应用进行安装、卸载及调试。
Eclipse 中的 ADT、SDK Tools 目录下的 DDMS、Monitor 等工具,都是同样地用到了 adb 的功能来与 Android 设备进行交互。

PC 端的手机助手,诸如 360 手机助手、豌豆荚、应用宝等,其除了安装第三方应用方便,其他的功能,基本上都可以通过 adb 命令去完成,这里建议测试人员尽量不要在电脑上安装这类手机助手,因为其自带的 adb 程序可能会与 Android SDK 下的 adb 程序产生冲突,5037 端口被占用,导致使用 adb 命令时无法连接到设备。

2、 运行在 PC 端的 Service : 其管理客户端到 Android 设备上 adb 后台进程的连接
adb 服务启动后,Windows 可以在任务管理器中找到 adb.exe 这个进程

3、 运行在 Android 设备上的 adb 后台进程
执行 adb shell ps | grep adbd ,可以找到该后台进程,windows 请使用 findstr 替代 grep
adb shell ps | grep adbd
root 23227 1 6672 832 ffffffff 00019bb4 S /sbin/adbd
这里注意一个地方,就是 adb 使用的端口号,5037,有必要记一下

接下来将 adb 命令分为三部分进行介绍,adb 命令、adb shell 命令、linux 命令

adb 命令

在开发或者测试的过程中,我们可以通过 adb 来管理多台设备,其一般的格式为:

adb [-e | -d | -s <设备序列号>] <子命令>

在配好环境变量的前提下,在命令窗口当中输入 adb help 或者直接输入 adb ,将会列出所有的选项说明及子命令。

posted @ 2020-11-21 20:39  ErShiXiong  阅读(168)  评论(0编辑  收藏  举报