Android Monkey使用说明——手册

合集下载

monkey工具介绍及用法

monkey工具介绍及用法

monkey⼯具介绍及⽤法monkey是android 系统⾃带的⼀个命令⾏⼯具,可以向被测应⽤程序发送伪随机的⽤户事件流(如按键、触屏、滑动等操作),实现对应⽤程序进⾏测试的⽬的。

monkey测试也叫猴⼦测试,是指测试时可以像好奇的猴⼦⼀样,不停的对应⽤程序进⾏随机操作,以便验证应⽤程序的稳定性和健壮性。

因此,monkey测试是软件稳定性,健壮性的测试⼯具下⾯是monkey提供的⼀些参数:参数:事件相关参数表:-s <seed> 这个参数是伪随机数⽣成器的种⼦值,如果⽤相同的随机种⼦值再次运⾏相同的monkey命令时,前、后两次执⾏的操作事件序列相同,也就是相同的操作。

--throttle <milliseconds> 这个参数是设定在两个事件之间插⼊⼀个固定延时,它可以减缓Monkey的执⾏速度。

如果您不指定选项,Monkey将不会被延迟,事件将尽可能快地⽣产和发送消息。

--pct-touch <percent> 这个参数是设定触屏事件⽣产的百分⽐,触屏事件是⼀个有⼿指按下、抬起事件的操作。

--pct-motion <percent> 这个参数是设定滑动事件⽣成的百分⽐,滑动事件是⼀个先在某⼀个位置⼿指按下,滑动⼀段距离后再抬起⼿势的操作。

--pct-trackball <percent> 这个参数是设定轨迹球事件⽣成的百分⽐,轨迹球事件是包含⼀系列随机移动和单击事件的操作。

--pct-nav <percent> 这个参数是设置基本的导航事件的百分⽐,基本导航事件的模拟⽅向性设置输⼊向上、向下、向左、向右的操作。

--pct-majornav <percent> 这个参数是设定主要导航事件的百分⽐,主要导航事件通常是导致UI产⽣回馈事件,如:单击BACK键,单击MENU键。

--pct-syskeys <percent> 这个参数是设定系统按键事件的百分⽐,系统按键是指这些按键通常被保留,由系统使⽤,如HOME,BACK,拨号,挂断及⾳量控制键。

Android压力测试工具Monkey简介

Android压力测试工具Monkey简介

Android压⼒测试⼯具Monkey简介测试步骤:1.安装ADB2.连接被测⼿机和电脑3.打开CMD命令⾏4.输⼊monkey命令adb shell monkey -p --pct-touch 30 --ignore-crashes --ignore-timeouts--throttle 250 -s 2 -v -v -v 5000000⼀.monkey测试命令有哪些选项?1:常⽤选项--help:打印帮助信息-v:指定打印信息的详细级别,⼀个 -v增加⼀个级别,默认级别为 0 。

-v -v -v 为最详细⽇志。

2:事件选项-s:指定产⽣随机事件种⼦值,相同的种⼦值产⽣相同的事件序列。

如: -s 200--throttle:每个事件结束后的间隔时间——降低系统的压⼒(如不指定,系统会尽快的发送事件序列)。

如:--throttle 100--pct-touch:指定触摸事件的百分⽐,如:--pct-touch 5% ,相关的还有以下option:--pct-motion <percent> (滑动事件)--pct-trackball <percent> (轨迹球事件)--pct-nav <percent> (导航事件 up/down/left/right)--pct-majornav <percent> (主要导航事件 back key 、 menu key)--pct-syskeys <percent> (系统按键事件 Home 、Back 、startCall 、 endCall 、 volumeControl)--pct-appswitch <percent> (activity之间的切换)--pct-anyevent <percent>(任意事件)3:约束选项-p:指定有效的package(如不指定,则对系统中所有package有效),⼀个-p 对应⼀个有效package,如:-p com.ckt -p com.ckt.asura;-c:activity必须⾄少包含⼀个指定的category,才能被启动,否则启动不了;4:调试选项--dbg-no-events:初始化启动的activity,但是不产⽣任何事件。

monkey命令参数

monkey命令参数

monkey命令参数Monkey是Android平台上一款压力测试工具,可以模拟用户的随机操作来检测应用程序的稳定性和性能。

它可以通过命令行参数来控制测试的行为,以下是一些常用的Monkey命令参数。

1.操作相关的参数:- `--pct-touch <百分比>`:触摸事件的百分比。

- `--pct-motion <百分比>`:滑动和拖动事件的百分比。

- `--pct-trackball <百分比>`:轨迹球事件的百分比。

- `--pct-nav <百分比>`:导航事件的百分比。

- `--pct-majornav <百分比>`:主要导航事件的百分比。

- `--pct-syskeys <百分比>`:系统按键事件的百分比。

- `--pct-appswitch <百分比>`:应用程序切换事件的百分比。

- `--pct-anyevent <百分比>`:任意事件的百分比。

- `--pct-pinchzoom <百分比>`:缩放事件的百分比。

2.时间相关的参数:-`-s<种子值>`:随机数生成器的种子值。

- `--throttle <延迟毫秒>`:事件之间的延迟时间。

-`-v<日志级别>`:日志的详细级别,可用值为0到5,默认为23.限制相关的参数:-`-c<事件数量>`:执行的总事件数量。

- `--dbg-no-events`:不执行任何事件,仅输出调试信息。

- `--dbg-clear-hist`:清除历史事件信息。

- `--pkg-blacklist-file <文件路径>`:指定一个包名黑名单文件,禁止访问黑名单中的应用程序。

4.安全相关的参数:- `--ignore-crashes`:忽略应用程序崩溃,继续执行测试。

- `--kill-process-after-error`:在发生错误后立即终止应用程序进程。

MONKEY命令

MONKEY命令

实例应用
这条命令的解释: --throttle 50 设定延时, --pct-anyevent 100设定启动activity的百分比 为 100%, 最后count就是事件数设定为500
如果没有指定,我们可以看到在开始执行的时候8个事件(上面的选项中有介绍)的百分 比如下: #adb shell monkey –p com.ebensz.stock –throttle 50 –pct-anyevent 100 –v 500 :Monkey: seed=0 count=500 :AllowPackage: com.ebensz.stock :IncludeCategory: UNCHER :IncludeCategory: android.intent.category.MONKEY // Event percentages: // 0: 15.0% // 1: 10.0% // 2: 15.0% // 3: 25.0% // 4: 15.0% // 5: 2.0% // 6: 2.0% // 7: 1.0% // 8: 15.0%
命令选项参考
--pct-touch <percent> 调整触摸事件的百分比(触摸事件是一个downup事件,它发生在屏幕上的某单一位置)。 --pct-motion <percent> 调整动作事件的百分比(动作事件由屏幕上某 ( 处的一个down事件、一系列的伪随机事件和 一个up事件组成)。 --pct-trackball <percent> 调整轨迹事件的百分比(轨迹事件由一个或几 个随机的移动组成,有时还伴随有点击)。
定义
Monkey是Android中的一个命令行工具。它 向系统发送伪随机的用户事件流(如按键输 入、触摸屏输入、手势输入等),实现对手 机应用程序进行压力测试。Monkey测试是 一种为了测试软件的稳定性、健壮性的快 速有效的方法。

利用Monkey命令操作屏幕快速滑动

利用Monkey命令操作屏幕快速滑动

利⽤Monkey命令操作屏幕快速滑动⼀、Monkey测试简介Monkey测试是Android平台⾃动化测试的⼀种⼿段,通过Monkey程序模拟⽤户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进⾏压⼒测试,检测程序多久的时间会发⽣异常。

⼆、Monkey程序介绍1) Monkey程序由Android系统⾃带,使⽤Java语⾔写成,在Android⽂件系统中的存放路径是:/system/framework/monkey.jar;2) Monkey.jar程序是由⼀个名为“monkey”的Shell脚本来启动执⾏,shell脚本在Android⽂件系统中的存放路径是:/system/bin/monkey;这样就可以通过在CMD窗⼝中执⾏:adb shell monkey {+命令参数}来进⾏Monkey测试了。

列表中有⼗⼏种 item,也有⼏种重型控件⽆限滚动的⽔平 banner 和可以⽆限垂直滚动的类似淘宝头条的控件。

担⼼会出现内存泄露或者其他问题,于是⽤ mokey 测试快速滑动来发现隐藏问题。

运⾏monkeyrunner fling.py查看 android monitor 内存也都释放掉了测试代码如下代码如下 fling.py#!/usr/bin/env monkeyrunnerimport timefrom com.android.monkeyrunner import MonkeyRunner, MonkeyDevicedevice = MonkeyRunner.waitForConnection(5)# fling updef scrollUpFling():device.touch(100, 500, MonkeyDevice.DOWN)device.touch(100, 100, MonkeyDevice.MOVE)device.touch(100, 100, MonkeyDevice.UP)print "fling up"# fling downdef scrollDownFling():device.touch(100, 400, MonkeyDevice.DOWN)device.touch(100, 500, MonkeyDevice.MOVE)device.touch(100, 500, MonkeyDevice.UP)print "fling down"def fling():for i in range(1,1000):scrollUpFling()time.sleep(0.1)scrollDownFling()time.sleep(0.1)fling()以上所述是⼩编给⼤家介绍的利⽤ Monkey 命令操作屏幕快速滑动,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。

monkey 测试方法

monkey 测试方法

终端应用monkey测试方法1.1 编写目的本文档的编写目的在于指导项目组测试人员采用monkey工具对手机app进行检测;1.2 适用对象本文档适用对象主要是E2E各项目组测试负责人及相应的测试人员2 Monkey使用2.1 Monkey简介Monkey是android自动化测试工具的一种手段,是通过模拟用户的按键输入、触摸屏输入等,测试设备多长时间出现异常。

Monkey是一个命令行工具,可以运行在模拟器里或实际设备中。

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

Monkey包括许多选项,它们大致分为四大类:·基本配置选项,如设置尝试的事件数量。

·运行约束选项,如设置只对单独的一个包进行测试。

·事件类型和频率。

·调试选项。

2.2 Monkey使用2.2.1 使用Monkey前的准备工作l 连接数据线l 安装驱动l 使用adb device 查看设备是否连接上l 使用adb root 查看是否有root权限(尽量使用有root权限的手机,理由可见2.2.2部分说明)2.2.2 Monkey测试方法由于Monkey运行在模拟器/设备环境中,所以必须用其环境中的shell来进行启动;通过对[options]参数的指定来模拟用户的行为;如下是一些典型的例子:adb root --- 查看该手机是否有root权限如果有root权限,可直接将日志写入到/data目录下,monkey的测试方法和获取日志可通过如下过程:单模块测试:monkey -p uncher --ignore-crashes --ignore-timeouts --ignore-native-crashes --pct-touch 30 -s 1 -v -v -v --throttle 200 100000 2> /data/error.txt 1> /data/info.txt &系统测试:monkey --ignore-crashes --ignore-timeouts --ignore-native-crashes --pct-touch 30 --pct-nav 0 --pct-flip 0 -s 1 -v -v -v --throttle 200 100000 2> /data/error.txt 1> /data/info.txt &备注:2> /data/error.txt 1> /data/info.txt & 会自动将异常信息写入error.txt中,而将monkey执行的信息写入到info.txt中如果没有root权限,monkey的测试方法和获取日志可通过如下过程:adb shelladb logcat -f /sdcard/log.txt ---可以获取到手机操作所有的日志,如果测试过程中有异常信息,则会写入到该日志中单模块测试:monkey -p uncher --ignore-crashes --ignore-timeouts --ignore-native-crashes --pct-touch 30 -s 1 -v -v -v --throttle 200 100000 >>/sdcard/monkey_info.txt系统测试:monkey --ignore-crashes --ignore-timeouts --ignore-native-crashes --pct-touch 30 --pct-nav 0 --pct-flip 0 -s 1 -v -v -v --throttle 200 100000 >>/sdcard/monkey_info.txt备注:>>/sdcard/monkey_info.txt 该处info.txt仅包含monkey的执行信息,测试过程中发现的异常信息请从log.txt中查找两种获取日志的方法,请尽量采取前者,设置到SDCARD有可能会因为Monkey点击了Mount U盘而导致LOG不全参数说明:-p 用此参数指定了一个或几个包, 要指定多个包,需要使用多个-p选项,每个-p选项只能用于一个包;--ignore-crashes 忽略应用程序崩溃或发生的任何异常,继续向系统发送事件,直到计数完成;--pct-touch 30 --pct选项来进行指定具体事件及其发生的频率。

monkey的使用

monkey的使用

monkey的使用以Monkey的使用为标题,我将为大家介绍一款功能强大的自动化测试工具——Monkey。

一、什么是Monkey?Monkey是一款由Google开发的自动化测试工具,主要用于测试Android应用程序的稳定性和性能。

它可以模拟用户在设备上的随机操作,如点击、滑动、手势等,以此来检测应用程序在不同场景下的稳定性和可靠性。

二、为什么选择Monkey?1.全面性能测试:Monkey可以模拟各种用户操作,随机生成事件序列,对应用程序进行全面性能测试。

通过对应用程序进行长时间、大量的随机操作,可以发现潜在的问题和性能瓶颈。

2.易于集成:Monkey可以与其他测试工具和框架进行集成,如JUnit、Robotium等。

通过与其他工具的结合,可以更加灵活地进行自动化测试,提高测试效率。

3.快速反馈:Monkey可以在短时间内生成大量的测试数据,快速发现应用程序中的问题。

这样可以及早发现和修复bug,提高应用程序的质量。

三、如何使用Monkey?1.安装Monkey:首先需要安装Android SDK,并将adb工具添加到系统环境变量中。

然后通过adb命令将Monkey安装到设备上。

2.编写Monkey脚本:Monkey的测试用例是通过一系列的命令行参数来控制的。

可以通过编写一个脚本文件,将这些参数进行组合,以实现特定的测试场景。

3.运行Monkey:通过adb命令启动Monkey,将脚本文件作为参数传入。

Monkey将根据脚本文件中的定义,模拟用户的随机操作。

四、Monkey的使用场景1.稳定性测试:Monkey可以通过模拟用户的随机操作,对应用程序进行长时间的稳定性测试。

这对于测试应用程序的内存泄漏、ANR(Application Not Responding)等问题非常有帮助。

2.压力测试:Monkey可以通过模拟大量的用户操作,测试应用程序在高负载情况下的稳定性和性能。

这对于评估应用程序在用户访问量增加时的表现非常重要。

超全的Monkey测试教程——简介篇(一)

超全的Monkey测试教程——简介篇(一)

超全的Monkey测试教程——简介篇(⼀)⽬录Monkey测试简介1. 什么是Monkey测试2. Monkey在哪⾥3. ⼿机如何与monkey通讯4. Monkey测试适⽤于什么时候1.什么是monkey测试Monkey测试呢,⼜称“猴⼦测试”,可以⽤来对Android⼿机或应⽤做压⼒测试。

顾名思义,它可以像猴⼦⼀样上蹿下跳、盲⽬的对应⽤做测试,校验应⽤的稳定性和健壮性。

它向系统发送伪随机的⽤户事件流,可以通过⾃动化⾼效地弥补app稳定性对测试⼈⼒和测试时间的要求。

伪随机:因为可以通过设置相同的seed值来⽣成相同的事件序列,因此成为伪随机事件流包括:点击、滑动、Application切换、横竖屏、应⽤关闭、按键输⼊、触摸屏输⼊等官⽹⽂档:https:///studio/test/monkey.html2.Monkey测试在哪⾥每台android⼿机⾥都有Monkey⼯具,但是我们是看不到的,因为Monkey不是⼀个可视化的⼯具,例如⼿机⾥的微信,这是⼀个可视化的,能打开,有图形化界⾯,但是Monkey没有。

3.⼿机与Monkey如何通讯我们需要借助 ADB 才能与Monkey进⾏通讯。

4.什么是ADB全称是 Android Debug Bridge,就是起到调试桥的作⽤。

⽤来操作android设备的。

adb ⼯具存在SDK中,也可以单独下载。

借助adb⼯具,我们可以管理设备或⼿机模拟器的状态,还可以进⾏很多⼿机操作,⽐如安装软件,系统升级,运⾏shell命令等等,其实简⽽⾔之,adb就是连接Android⼿机与PC端的桥梁,可以让⽤户在电脑上对⼿机进⾏全⾯的操作。

如下图:5.Monkey测试适合什么适合应⽤可⽤于产品早期,在产品不稳定、崩溃问题较多,通过monkey能尽早发现,且有清晰的错误⽇志,便于开发排查解决问题。

在就是⽤于应⽤发布前,作为最后⼀轮测试,以上就是Monkey测试的简介,如有不⾜和错误之处望⼤家指正,⼤家共同学习和进步~Monkey测试实战请看下⼀篇吧~参考博客:https:///u011541946/article/details/77142045。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

自动化测试工具Monkey
1、什么是Monkey
Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。

它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。

Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。

2、Monkey的特征
A、测试的对象仅为应用程序包,有一定的局限性。

B、Monky测试使用的事件流数据流是随机的,不能进行自定义。

C、可对MonkeyTest的对象,事件数量,类型,频率等进行设置。

3、Monkey的基本用法
$ adb shell monkey –p(包) –v(频率)500
4、Monkey测试的停止条件
Monkey Test执行过程中在下列三种情况下会自动停止:
A、如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止。

B、如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。

C、如果应用程序产生了应用程序不响应(application not responding)的错误,Monkey将会停止并报错。

使用Monkey流程
总的来说使用monkey进行测试是比较简单的,只是需要做一些比较复杂的准备工作。

下面详解测试步骤(很简单的哦),所讲内容是建立在已经配置好ADB环境
的基础上(如果这部分不清楚请先google一下先配置好环境,这里不做描述)。

1、ADB连接Android测试设备。

2、确定你要测试的应用的PackageName。

3、使用Monkey发一条测试命令。

步骤详解
步骤确实很简单吧。

不敢保证读者都明白如何去完成上面的步骤,这里讲讲每步如
何做。

1、ADB连接Android测试设备。

如果你用的是模拟器,那么启动后通常是已经连在ADB上了。

对于真机来说两种
方式都可以:
方式一:使用USB把Android设备接到PC上,然后装上驱动(不好找驱动的话
就用豌豆荚吧)。

方式二:首先得确保你的Android已经成功root了,那么可以使用wifi无线连接。

①下载一个wifi adb应用装在你的android设备上;②在android上打开wifi adb;
③在pc上的命令行中输入wifi adb中显示的那部分内容:
adb connect 192.168.x.x,命令行中显示connected 192.168.x.x那么说明连接好了。

我比较喜欢方式二,这样可以不用去下载驱动(主要是驱动很多都不稳定),而且
不伤害电池。

长时间插在USB上对电池始终是不好的。

只不过这种方式设备一旦休眠那么就可能需要重连。

2、确定你要测试的应用的PackageName。

先说明一下这里讲的方法是通用的,而网上其他方法获取PackageName不然不通用(因为他是建立在root的基础上的,我不敢保证你的设备已经root)。

①在android设备上点击一下你要测试的设备,然后就不用操作设备了。

②在PC上的命令行输入:adb logcat>D:/log.txt *:I
在这里的D:/log.txt你可以改成其他的路径,但是一定要先确保路径下没有这个文件,不然的话你以前的文件就被改掉了,一定要小心。

③按下Ctrl+c先停掉(为了避免过多的新信息)。

打开刚刚的那个文件D:/log.txt。

从文件最下面开始找下面格式的信息
I/ActivityManager( 数字): Displayed 包名/类名: +数字ms
例如我的信息如下:
I/ActivityManager( 272): Displayed com.vane/.act.ActLauncher: +315 ms
不过你可能会发现有很多这种格式的信息,到底哪个才是你需要的呢,如果你严格按照刚刚的步骤做的话,那么很可能是最下面那条信息,即使不是那么也肯定是最下面几条信息中的某一条,这需要你根据应用进行辨别。

④记下你刚刚得到的包名,例子中的包名为“com.vane”。

马上就会用。

3、使用Monkey发一条测试命令。

这一步就比较简单了。

直接在pc上的命令行输入:
adb shell monkey -p com.vane -v 50
备注:上面命令中的com.vane就是之前获得的包名;命令中的参数你可以自己根据需要参考上面的参数文档进行修改。

4、观察android设备,直到Monkey停止。

5、如果应用崩溃的话就好分析一下Monkey中的信息。

相关文档
最新文档