monkey测试

monkey--常用参数

99封情书 提交于 2019-11-28 18:52:11
前戏 参数分类:常规类参数,事件类参数,约束类参数,调试类参数 常规类参数:常规类参数包括帮助参数和日志信息参数,帮助参数用于输出monkey命令使用指导,日志信息参数将日志分为三个等级,级别越高,日志的信息越详细 帮助类参数 monkey -h adb shell monkey -h 日志级别 -v:打印出日志信息,每个-v将增加反馈信息的级别,-v越多,日志信息越详细,目前最多支持三个-v adb shell monkey -v 200 adb shell monkey -v -v -v 200 一个-v:除启动提示,测试完成和最终结果外提供较少信息 两个-v:提供较详细测试信息,如逐个发送到Activity的事件 三个-v:提供更详细安装信息,如测试中被选中或未被选中的 事件类参数 事件类参数的作用是对随机事件进行调控,从而使其遵照设定运行,如设置各种事件的百分比,设置事件生成所使用的种子值等。频率参数主要限制事件执行的时间间隔。 伪随机数生成种子值 使用-s命令可以重复执行之前的伪随机操作,本身每次执行伪随机事件操作也会默认生成一个seed值 adb shell monkey -s 88 200 -s后面的88随便定义,下次继续执行adb shell monkey -s 88 200这个命令就和之前跑的一样(试了不一样) 设置间隔

monkey--介绍

我的未来我决定 提交于 2019-11-28 16:11:34
前戏 monkey程序是android系统自带的,其启动脚本是位于android系统的/system/bin目录的monkey文件,其jar包是位于android系统的/system/framework目录的monkey.jar文件。用户主要是通过adb命令来启动monkey的,monkey在运行时,会根据命令行参数的配置,生成伪随机的事件流,并在android设备上执行对应的测试事件。同时,monkey还会对测试系统进行监测,当出现以下情况会进行特殊处理 1.如限定了monkey在特定包上,当监测到试图转到其他包的操作,将对其进行阻止。 2.如应用程序崩溃或接受到任何失控异常,monkey将记录对应的错误日志,并根据命令行参数判断是停止运行还是继续运行。 3.如果程序发生了程序无响应的错误,monkey将记录对应的错误日志,并根据命令行参数判断是停止运行还是继续运行。 启动monkey monkey启动步骤 1.连接移动设备 2.连接成功后输入命令:adb shell 3.进入到指定目录:cd /system/bin 4.输入monkey看到以下信息说明启动成功 执行monkey命令:退出shell才能执行 monkey命令格式如下: adb shell monkey [options] <event-count> [options]是指monkey可传入的参数,是可选项

Monkeyrunner自动化测试由浅入深(第一节)

自闭症网瘾萝莉.ら 提交于 2019-11-27 18:53:36
(原版)Monkeyrunner自动化测试由浅入深(第一节) 博主原创,请勿转载 第一、相关软件和环境的配置 1、Android sdk下载和配置 2、java jdk下载和配置 第二、Monkeyrunner认识 Monkeyrunner是Android SDK中提供的一个测试工具,存放位置在SDK-tools中,以bat文件存在,即monkeyrunner.bat,双击此文件即启动monkeyrunner(启动是不是很简单,小编之前还以为monkeyrunner是需要何等高级配置) 官方定义(官方地址: http://developer.android.com/tools/help/MonkeyDevice.html ):monkeyrunner工具,其本身提供了一个API来供大家编程啦,用以控制一个android设备或者模拟器,而不用了解这个android及其应用的源码。有了monkeyrunner,我们可以写一个Python(monkeyrunner指定脚本语言,不会没关系,继续看)的程序来安装android程序或者测试包,运行编写好的脚步语言,则通过monkeyrunner则会给模拟器或者真机发送一系列控制事件,并且测试的过程中,还可以自定义重要步骤的截图(代码自动完成)。monkeyrunner的工具的作用是在功能/框架层上测试应用和设备,跑单元测试用例

Android自动化测试解决方案

人盡茶涼 提交于 2019-11-27 13:46:10
现在已经有大量的Android自动化测试架构或工具可供我们使用, 其中包括:Activity Instrumentation, MonkeyRunner, Robotium, 以及Robolectric。 另外LessPainful也提供服务来进行真实设备上的自动化测试。 Android自身提供了对instrumentation测试的基本支持,其中之一就是位于android.test包内的 ActivityInstrumentationTestCase2类,它扩展了JUnit的TestCase类来提供Android activities的功能测试。在应用测试中,每一个activity首先会被Instrumentation初始化,然后再加载到Android模拟器或设备的Dalvik虚拟机中来执行。 Android SDK自带一个测试工具MonkeyRunner,它提供的API和执行环境可以运行Python语言编写的测试代码。它提供API来连接设备,安装/卸载应用,运行应用,截屏,比对图片来判断特定命令执行后的屏幕是否包含预期信息,以及运行对应用的测试。MonkeyRunner使用 ActivityInstrumentationTestCase2, ProviderTestCase,ServiceTestCasek,

monkey

荒凉一梦 提交于 2019-11-27 12:14:15
monkey是android的一个命令行工具,作用于模拟器或显示设备,向系统发送伪随机用户事件流。是进行压力测试的一个工具,主要用来测试程序多久会发生异常。 monkey由java语言写,存放在/system/bin/monkey中。 adb shell后进入shell环境,pm list packages可以显示设备的所有包名 基础参数 基本语法:adb shell monkey [options] 参数 解释 -p 指定包名,测试一个app:monkey -p 包名,多个app:monkey -p 包名1 -p 包名2,不指定包名则随机测试所有app 数字 针对整个系统发送100个伪随机事件 -v 反馈信息详细的级别,分别是加1/2/3个-v -s -s需要跟在包名后,次数前 throtto 用户操作间的时延,单位ms 调试选项 参数 解释 –ignore-crashes 用于指定当应用程序崩溃时,Monkey是否停止运行。如果使用此参数,即使应用程序崩溃,monkey依然会发送事件,直到事件计数完成。 —ignore-timeouts 用于指定当应用程序发生ANR(Application No Responding)错误时,Monkey是否停止运行。如果使用此参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成。 –ignore-security

Monkey语法

陌路散爱 提交于 2019-11-27 05:40:15
参数名 基本功能 -p 参数-p用于约束限制,用此参数指定一个或多个包(Package,即App) 。指定包之后,Monkey将只允许系统启动指定的App。如果不指定包,Monkey将允许系统启动设备中的所有APP。 -v 用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别:level0-2 -s 用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试产生的时间序列也相同。 -throttle <毫秒> 用于指定用户操作(即事件)间的时延,单位是毫秒 –ignore-crashes 用于指定当应用程序奔溃时(Force & Close错误),Monkey是否停止运行。如果使用此参数,即使应用程序奔溃,Monkey依然会发送事件,直到事件计数完成。 –ignore-timeouts 用于指定当前应用程序发生ANR(Application No Responding)错误时,Monkey是否停止运行,如果使用此参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成。 –ignore-security-exceptions 用于指定当程序发生许可错误时(如证书许可,网络许可等),Monkey是否停止运行。如果使用此参数,即使应用程序发送许可错误,Monkey依然会发送事件,直到事件计数完成 –kill-process

Monkey测试入门

牧云@^-^@ 提交于 2019-11-27 05:38:56
一、什么是Monkey测试? Monkey测试也成为压力测试,是Android自动化测试的一种手段,当Monkey程序在模拟器或设备上运行的时候,如果用户触发了点击、触摸、手势等时间的时候,Monkey会产生随机脉冲,所以可以用Monkey随机、多次模拟事件来测试应用的负荷程度,并从中获取出错信息,从而优化应用。 Monkey包括许多选项,它们大致分为四大类: 1、基本配置 选项,如设置尝试的事件数量。 2、 运行约束选项,如设置只对单独的一个包进行测试。 3、事件类型和频率。 4、调试选项。 二、Monkey测试的特征 略。 三、准备工作 1、模拟器连接:首先需要让测试工具能与Android手机连接,此处先给出模拟器的方法。 (1)检测可连接设备:win7-win+R-cmd-回车。进入命令提示符窗口。输入adb devices 图(3.1.1)检测可连接设备 如图,emulator表示当前可以连接的模拟器名称,当然此前我们必须打开一个模拟器。 (2)进入设备。adb shell 图(3.1.2)进入设备 通过命令解析器shell可以对设备进行操作。 至此连接完毕。接下来就可以使用Monkey命令对应用进行测试。 四、Monkey语法 1、因为Monkey工具已集成在系统,所以可以直接使用Monkey命令,使用help命令可以了解Monkey语法(点击学习语法): 图(4.1.1

monkey基础使用教程,如何安装和monkey分析日志

房东的猫 提交于 2019-11-27 03:38:24
1.概念 什么是monkey,monkey的作用是什么? Monkey是Android自身提供的,可以通过adb shell模拟用户行为,发送一些伪随机用户事件到目标设备上。 Monkey和它的直接意思一样,可以像一个猴子一样,疯狂的输入各种随机事件到设备上,像是一个猴子在疯狂的点击设备。 既然Monkey有这样的功能,我们就可以利用它来对Android App做压力测试,可以在规定的范围内,任意随机触发各种事件,来验证App的抗压性和稳定性。这些随机事件包括:点击屏幕、滑动屏幕、各种无力按键等。 原理: monkey测试的原理:利用socket通讯的方式来模拟用户的按键输入、触摸屏输入、手势输入等。 步骤 2.安装使用monkey 前置条件: pc端已安装adb环境/jdk环境/sdk环境 我装了adb/jdk环境,需要装的小伙伴自行百度如何安装,现在我需要安装的是sdk环境 国内安装包下载地址: https://www.androiddevtools.cn/ 下载这个选项 android-sdk_r24.4.1-windows.zip 随便找个路径存档,解压, 打开SDK Manager.exe 勾选所有选项并安装,这是啥子? 配置环境变量: 新建一个环境变量名称为ANDROID_HOME,变量值为当前安装SDK的目录 例如SDK装在D:\androidSDK中,则环境变量为:

移动端测试-monkey压力测试

跟風遠走 提交于 2019-11-26 00:24:47
移动端测试-monkey压力测试   1. 安卓手机跟电脑安装豌豆荚   2. 启动adb的服务(关闭服务 adb kill-server)     adb devices   3. 安装apk     adb install HelloWorld.apk   4. 查看应用程序包名     1. 只需要在连接手机后,输入命令:adb shell am monitor     2. 在手机上点击程序,就能显示程序包名   5. Monkey测试原理:     1. Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试      Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。     2. 执行1000次随机事件,间隔300毫秒       adb shell monkey -p 程序包名 -v --throttle 300 1000   6. 显示具体app cpu占用情况     adb shell     dumpsys cpuinfo|grep app包名   7. 内存使用 情况     dumpsys meminfo|grep app包名   8. 查看某个app日志/保存日志     adb shell logcat