导航:首页 > 编程语言 > monkey是什么程序

monkey是什么程序

发布时间:2023-04-18 14:41:39

1. APP稳定性测试工具:Monkey

Monkey 是一款 app 的自动化测试工具,monkey 是猴子的意思,所以从原理上说,它的自动化测试就类似猴子一样在软件上乱敲按键,猴子什么都不懂,就爱捣乱。Monkey 原理也是类似,通过向系统发送伪随机的用户事件流( 如按键输入、触摸屏输入、滑动 Trackball、手势输入等操作 ),来对设备上的程序进行测试,检测程序长时间的稳定性,多久的时间会发生异常。

Monkey 工具存在 Android 系统中,使用 java 语言写成,jar 包在 Android 文件系统中的存放路径是:/system/framework/monkey.jar;Monkey.jar 程序是由一个名为“monkey”的 Shell脚本来启动执行,shell 脚本在 Android 文件系统中的存放路径是:/system/bin/monkey;monkey 需要通过 adb 来唤醒,即通过在 cmd 窗口中执行: adb shell monkey {+命令参数}来进行 Monkey 测试;

在 Monkey 运行的时候,它会生成事件,并把它们发给系统。同时,Monkey 还对测试中的系统进行监测,对下列三种情况进行特殊处理:

(1)如果限定了 Monkey 运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止;

(2)如果应用程序崩溃或接收到任何失控异常,Monkey 将停止并报错;

(3)如果应用程序产生了应用程序不响应 ANR(application not responding)的错误,Monkey 将会停止并报错;按照选定的不同级别的反馈信息,在 Monkey 中还可以看到其执行过程报告和生成的事件。

0、–help : 列出简单的用法

1、允许启动手机里面所有的 App , 随机操作 1000 次

2、-p : 允许启动 App 的包名

启动一个包名的应用,qq 的包名为: com.tencent.mobileqq

案例:随机操作 手机 QQ 1000 次

案例:随机操作 手机 QQ 和 微信 1000 次

3、-v : 操作日志记录

命令行的每一个-v将增加反馈信息的级别。

4、-s : 伪随机数生成器的seed值

如果用相同的seed值再次运行monkey,将生成相同的事件序列。

5、--throttle : 插入固定延迟

在事件之间插入固定延迟。通过这个选项可以减缓Monkey的执行速度。如果不指定该选掘岁项,Monkey将不会被延迟,事件将尽可能快地被执行。

案例:随机执行 500 个事件,每个事件之间延迟 500 毫秒被执行。

6、--ignore-crashes : 忽略操作是崩溃异常

通常,应用发生崩溃或异常时Monkey会停止运行。如果设置此项,Monkey将继续发送事件给系统,直到事件计数完成。

7、--ignore-timeouts : 忽略超时

通常,应用程序发生任何超时错误(如“Application Not responding”对话框)Monkey将停止运行,设置此项,Monkey将继续发送事件核和给系统,直到事件计数完成。

8、--ignore-security-exceptions : 忽略程序发生许可异常

通常,当程序发生许可错误(例如启动一些需要许可的Activity)导致的异常时,Monkey将停止运行。设置此项,Monkey将继续发送事件给系统,直到事件计数完成。

9、调整触摸事件百分比

触摸事件不单单是按键,它泛指发生在某一位置的一个down-up事件。

10、调整手势事件百分比

11、调整应用启动事件的百分比

如果你希望调整应用启动事件的百分比。

12、调整屏幕旋转事件百分比

Monkey弱点:

Monkey虽然可以根据一个指定的命令脚本发送按键消息,但不支持条件判断,不改散盯支持读取待测界面的信息来执行验证操作

2. 移动端手机 App 耗电量测试:Monkey 电量测试基本操作及 Android 性能优化

Monkey 测试简介

存放路径:Monkey程序是Android系统自带的,由Java语言写成,在Android文件系统中的存放路径是: /system/framework/monkey.jar。

大致操作流程:通过名为“monkey”的Shell脚本去启动Monkey.jar程序(shell脚本在Android文件系统中 的存放路径是:/system/bin/monkey),在你指定的APP应用上模拟用户点击,滑动,输入等操作以极快的速度来对设备程序进行压力测试,检测程序是否会发生异常,然后通过日志进行排错。

主要目的:测试app 是否会是否会Crash。

操作命令格式:adb shell monkey {+命令参数}

获取Android包名方法:(注意:请开启手机开发者模式,请开启手机USB调试模式)

查看正在运行的程序的包名:adb shell mpsys activity activities | sed -En -e '/Running activities/,/Run #0/p' (例如:我清理手机后台之后,开启了QQ,输入命令之后,就会出现QQ的进程,框的地方就是qq的包名)

monkey常用操作命令简介

-p 包名:指定应用程序。例如:adb shell monkey -p 包名 事件总数

-v:打印log级别,-v越多日志信息越详细,最多支持3个。例如:adb shell monkey -p 包名 -v -v -v 事件总数

-s:伪随机数生成器的 seed 值,通俗的说就是个标记,后面跟数字,例如:执行adb shell monkey -s 1 -p 包名 事件总数,这个我标记了-s 1,命令操作完之后,我发现有日志报错,我想重新执行这个monkey操作,那你握核就可以继续执行这个命令,排错时常用。

-f:后接测试脚本名,例如:adb shell monkey -f 脚本名 事件总数

-throttle:翻译减速的意思,后面接时间,单位为ms,,表示事件之间的固定延迟,如果不接该项,monkey将不会延迟,例如:adb shell monkey --throttle 500 -p 包名 事件总数

--pct-事件类别 11个事件百分比控制(有的是9种事件,没有--pct-pinchzoom,--pct-rotation事件)由安卓SDK决定

11种事件,按顺序罗列的

--pct-touch {+百分比}:0

翻译触摸,触摸事件泛指发生在某一位置的一个down-up事件,点击

--pct-motion {+百分比}:1

翻译动作,动作事件泛指从某一位置接下(即down事件)后经过一系列伪随机事件后弹出(即up事件)

--pct-pinchzoom {+百分比}:2

翻译二指缩放,智能机上的放大缩小手势操作事件

--pct-trackball {+百分比}: 3

翻译轨迹,轨迹事件包括一系列的随机移动,以及偶尔跟随在移动后面的点击事件

--pct-rotation {+百分比}:4

翻译屏幕旋转,横屏竖屏事件

--pct-nav {+百分比}:5

翻译基本导航,基本导航事件主要来自方向输入设备的上、下、左、右事件

--pct-majornav {+百分比}:6

翻译主要导航,主要导航事件通常指引发图形界面的一些动作,如扮皮辩键盘中间按键、返回按键、菜单按键等

--pct-syskeys {+百分比}:7

翻译系统按键,系统按键事件通常指仅供系统使用的厅缺保留按键,HOME键、BACK键、拨号键、挂断键、音量键等

--pct-appswitch {+百分比}:8

翻译应用启动,应用启动事件(activity launches)即打开应用,通过调用startActivity()方法最大限度地开启该package下的所有应用

--pct-flip {+百分比}:9

翻译翻转,键盘轻弹百分比,如点击输入框,键盘弹起,点击输入框以外区域,键盘收回

--pct-anyevent {+百分比}:10

翻译其他类型,其他类型事件指上文中未涉及的所有其他事件,keypress、不常用的button等

百分比控制以及使用

首先注意一点,这个Event percentages在不同版本的SDK版本中顺序可能会不一样。

如果在monkey参数中不指定事件参数,这些动作都是随机分配的,11个动作其分配的百分比之和为100%,通过添加命令选项来控制每个事件的百分比。

添加事件百分比之后的情况,举例添加--pct-touch事件百分比为100:

命令: adb shell monkey -v -p 包名 --pct-touch 100 100

结果:

说明:尴尬啊,我这个vent percentages竟然有12种,多了一种什么我也不知道,但我敢肯定这跟SDK版本有关系,想知道的同学可以自己从安卓SDK中反编译出monkey源码,通过查看源码中的MonkeySourceRandom.java文件获知!查出来的同学可以告知我下。

说明:尴尬啊,我这个vent percentages竟然有12种,多了一种什么我也不知道,但我敢肯定这跟SDK版本有关系,想知道的同学可以自己从安卓SDK中反编译出monkey源码,通过查看源码中的MonkeySourceRandom.java文件获知!查出来的同学可以告知我下,我想做伸手党

-ignore-crashes:翻译忽略崩溃,当应用程序崩溃或发生失控异常时,monkey将继续运行直到计数完成。如果不设置此项,monkey遇到上述崩溃或异常将停止运行。

-ignore-timeouts:翻译忽略超时,当应用程序发生任何超时错误(如ANR,即Application Not Responding)时,monkey将继续运行直到计数完成。如果不设置此项,monkey 遇到此类超时将停止运行。

monkey测试中,如何终止运行:

方法一:

新建一个窗口

执行: adb shell ,

再执行ps | grep monkey,返回来的第一个数字,即是monkey的进程号

然后kill pid 进程号。如图

对手机进行重启

新建一个窗口

执行adb reboot

log日志导出

保存到电脑上。

执行:adb shell monkey -p 包名 -v 1000 > /Users/weixiangyang/Desktop/monkey.txt

例如:保存到电脑上标准流与错误流分开保存,分别命名为info.txt,error.txt

info.txt:此文件在手机上的SDCARD中,主要记录了MONKEY测试时发送的各种事件,如触摸事件的位置等等。

error.txt:此文件在手机上的SDCARD中,主要记录了MONKEY测试时产生的一些ANR、强制关闭等异常。 执行:adb shell monkey -p 包名 -v 1000 1>/Users/weixiangyang/Desktop/info.txt 2>/Users/weixiangyang/Desktop/error.txt

例如:保存到电脑上并命名为monkey.txt

保存到手机上。注意:手机要root

例如:保存到手机上并命名为monkey.txt

执行:

adb shell说明:进入adb shell后就相当于进入linux的root下面,但是没有权限在里面创建文件,所以手机要root

monkey -p 包名 -v 1000 > /mnt/sdcard/monkey.txt

注意:我的 adb shell 跟monkey XXX是分开执行的,分两行!!!

例如:保存到电脑上标准流与错误流分开保存,分别命名为info.txt,error.txt

执行:adb shell monkey -p 包名 -v 1000 1>/mnt/sdcard/info.txt 2>/mnt/sdcard/error.txt

3. MONKey 是什么意思

Monkey是可以槐扮散运行在模拟器里或实铅氏际设备中的程序。它向系统发送伪随机的用户事件流(如按键输入、触摸屏缺缓输入、手势输入等),实现对迹搐管诽攮赌归涩害绩正在开发的应用程序进行压力测试。.

4. adb命令和monkey总结

移动动测测试试基基础础

adb常常用用命命令令总总结结

1. adb / adb -help 使用帮助

2. adb devices 查看连接到电脑的设备

3. adb install example.apk 安装程序

4. adb -s emulator-5554 install example.apk 安装程序到指定的设备上(模拟器)

5. adb pull <remote> <local> 将设备上文件保存到电脑上

6. adb push <local> <remote> 将本地的文件上传到设备上

7. adb start-server 重启adb服务

8. adb kill-server 杀掉adb服务

9. adb shell 进入命令行交互模式,进入之后可以像在linux输入shell命令一样来操作手机设备(android本来就是基于linux的)

10. adb logcat <信息显示优先级参数> 显示日志信息 优先级从低到高顺序排

11.adb shell cat /proc/cpuinfo 查看宽谨燃手机CPU,

12.adb shell ps 查看进程信息

Monkey命令实战

1.Monkey是什么?

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

向系统发送伪随机的用户事件流(按键输入、触摸屏输入、手势输入等)

实现对正在开发的应用程序进行测试

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

2.Monkey的特征

测试对象仅为应用程序包,有一定的局限性(不能对源码进行测试)

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

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

3. Monkey使用

adb shell monkey [options]

adb shell monkey -p 包名 -v 500

-p 指定测试程序包名

-v 显示默认程度的信息

500 事件数设定为500

例如: adb shell monkey -p com.android.calculator2 -v 500

4. Monkey命命令令结结果果分分析析

1. 找monkey里面那个出错的地方

2. 查看monkey里面出错前的一些事件动作,并手动执行该动作

3. 若以上步骤还不能找出,使用之前执行的monkey命令再执行一遍,seed值要一样(seed值一样,发送的伪随机事件流也一样)

4. 注意第一个switch以及其他信息

seed值和,不同event类型比例

5.Monkey测试的目的

1. ANR问题:在日志中搜索“ANR”

2. 崩溃的问题:在日志中搜索“Exception”

3. ANR:Application Not Responding,在Android中,如慎虚果应该程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应

用程序无响应对话框。用户可以选择“等待”而让程序继续运行,也可以选择“强制关晌洞闭”应用。 好的程序应该能流畅运行,不能出现ANR问题

Monkey命令进阶

1.运行时机

产品功能稳定之后进行

2. monkey更更复复杂杂的的命命令令

adb shell monkey -p packagename -v -v -- throttle 600 88

-v :代表整个Monkey运行的次数,多个 -v 可以定制Monkey报告的等级

--throttle 600 : 每个操作都间隔时间600ms

88 :执行的事件数

adb shell monkey -p packagename -v -v --pct-touch 50 --pct-trackball 30 --throttle 600 88

adb shell monkey -p packagename -v -v --pct-touch 50 --pct-trackball 30 -s 1234 --throttle 600 88

--pct-touch :设置在整个过程中点击操作所占的百分比

--pct-trackball: 设置滚轮在所用操作中的百分比

--ignore-crashes:崩溃之后继续测试,重新启动程序

--ignore-timeouts:遇到超时,也继续执行

-v:

命令行的每一个-v将增加反馈信息的级别

Level 0(缺省值)除启动提示、测试完成和最终结果之外,提供较少信息

Level 1提供较为详细的测试信息,如逐个发送到Activity的事件

Level 2提供更加详细的设置信息,如测试中被选中的或未被选中的Activity

更多monkey命令:http://xqtesting.blog.51cto.com/4626073/1430654

实测命令(经常用到的,可以参考):

adb shell monkey -p com.xx.xxx(包名)--throttle 500 --ignore-crashes --igonre-timeouts --ignore-security-exceptions --igonre-native-crashes --

monitor-native-crashes -v -v -v 1000000 >> D:\monkeyScreenLog.log

说明:忽略crashes、timeout等是为了出问题是monkey继续运行下去,希望能抓取更多的出错信息

3.可可以以练练习习使使用用的的apk包名

com.android.calculator2

com.android.browser

com.android.music

com.android.email

com.android.contacts

monkey也可以进行压力测试。

可靠性测试

      稳定性测试:长时间使用软件不会出现无响应

                  monkey:安卓系统常用稳定性和压力测试工具

                  语法:monkey -p 包名  --throttle 数值(间隔时间,单位ms) -v  数值(操作次数)

                      monkey -p com.emicro.emicrophone --throttle 500 -v 300

                    百分比事件

                      0:点击事件  参数--pct-touch

                      1:滑动事件      --pct-motion

                      2:缩放事件      --pct-pinchzoom

                      3:轨迹球事件    --pct-trackball

                      4:屏幕旋转      --pct-rotation

                      5:基本导航事件  --pct-nav

                      6:主要导航事件    --pct-majornav

                      7:系统按键事件    --pct-syskeys

                      8:activity启动事件  --pct-appswitch

                      9:键盘唤出隐藏事件  --pct-flip

                      10:其他事件          --pct-anyevent

      异常测试  :断电,断网,异常退出。。。

adb 调试桥

    adb devices  检查设备是否连接

    adb install apk文件路径文件名

    adb uninstall 包名  卸载

    aapt d badging  apk文件路径文件名

    adb shell    进入安卓系统

5. APP自动化测试中Monkey和 MonkeyRunner有什么区别

Monkey是一个命令行工具,可以运行在模拟器里或实际设备中,它是一种轻量级的性能测试工具。它向系统发送伪随机的事件流,实现对正在运行的应用程序进行压力测试。

Monkey包括许多选项,包括:基本配置选项,;运行约束选项;事件类型和频率;调试选项。运行的时候,它生成事件,并把它们发给系统。同时,Monkey还对测试中的系统进行监测。如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止。如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。如果应用程序产生了应用程序不响应的错误,Monkey将会停止并报错。按照选定的不同级别的反馈信息,在Monkey中还可以看到其执行过程报告和生成的事件。

相对于Monkey工具直接运行在设备或模拟器的adb shell中,生成用户或系统的伪随机事件流。而MonkeyRunner工具则是在工作站上通过API定义的特定命令和事件控制设备或模拟器。提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。

通过MonkeyRunner,可以写出一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上。MonkeyRunner工具的主要设计目的是用于测试功能/框架水平上的应用程序和设备,或用于运行单元测试套件。

TestBird - 手游和App自动化测试平台

6. adb命令之monkey压力测试篇

一. 首先搭建monkey的运行环境

二. 环境搭建成功后可以进行monkey压力测试
1.电脑usb连接手机
2.开始 ->运行(win+R键),输入cmd,在命令行输入adb shell
3.接下来就可以运行monkey test的命令
如:monkey -p com.test -v 100 (com.test为需要测试的包)

三. monkey压力测试命令详解
monkey是sdk中附带的一个工具,该工具 进行压力测试,然后开发人员根据monkey打印的日志结局测试中出现的问题
monkey测试中所有的事件都是随机产生的,不带有任何人的主观性

四. 标准的monkey命令:
[adb shell] monkey [options] <eventcount>,如:adb shell monkey -v 500

五. 在monkey测试中常用的命令组合有:

六. monkey options 通常分为四大类——常用选项、时间选项、约束选项、调试选项
1.常用选项如下:
--help:打印帮助信息
-v:指定打印信春贺息的详细级别,一个 -v增加一个级别 , 默认级别为 0 。

2.事件选项如下:
-s:指定产生随机事件种子值,相同的种子值产生相同的事件序列。如: -s 200
--throttle:每个事件结束后的间隔时间——降低系统的压力(如不指定,系统会尽快的发送事件序列)。如:--throttle 100
--pct-touch:指定触摸事件的百分比,如:--pct-touch 5%
--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,但是不产生任何事件。
--hprof:指定该项后在事件序列发送前后会立即生成分析报告 —— 一般建议指定该项。
--ignore-crashes:忽略崩溃
--ignore-timeouts:忽略超时
--ignore-security-exceptions:忽略安全异常
--kill-process-after-error:发生错误后直接杀掉进程
--monitor-native-crashes:跟踪本地方法的崩溃问题
--wait-dbg:知道连接了调试器才执行monkey测试。

5.列举一个简单的monkey命令:
adb shell monkey -p com.xy.android.junit -s 500 -v 10000

但是,在工作中为了保证测试可以完整进行,为了防止发生错误时立刻退出压力测试。更为了 可以方便查看log,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个事件 ,log输出到E盘monkey_log文件夹下的java_monkey_log.txt

七. monkey 测试结果详细分析
1.事件所占比例分析

4.当有FC(Force Close)错误

5.logcat输出的信息:

7. android的app应用,monkey测试是怎么录制脚本进行性能测试的 求各位大神补充

Windows下(注:2—4步是为了查看我们可以测试哪些应用程序包,可省略):1、通过eclipse启动一个Android的emulator2、在命令行中输入:adbdevices查看设备连接情况C:>-5554device3、在有设备连接的前提下,在命令行中输入:adbshell进入shell界面C:>adbshell4、查看data/data文件夹下的应用程序包。注:我们能测试的应用程序包都在这个目录下面C:>adbshell如:com.android.htmlviewercom.android.settingscom.android.netspeedcom.android.providers.userdictionarycom.android.browsercom.android.contactscom.android.alarmclock等5.在其中找到我们需要测试的包名com.marshalchen.MonkeyTest16、以com.marshalchen.MonkeyTest1作为对象进行MonkeyTestmonkey-pcom.marshalchen.MonkeyTest1-v500其中-p表示对象包–v表示事件数量运行过程中,Emulator中的应用程序在不断地切换画面。按照选定的不同级别的反馈信息,在Monkey中还可以看到其执行过程报告和生成的事件。如:SendingPointerACTION_DOWNx=35.0y=259.0:SendingPointerACTION_UPx=195.0y=259.0:SendingPointerACTION_DOWNx=295.0y=223.0:Dropped:keys=0pointers=0trackballs=0flips=0等等信息。四、Monkey停止的条件MonkeyTest执行过程中在下列三种情况下会自动停止:1、如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止。2、如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。3、如果应用程序产生了应用程序不响应(applicationnotresponding)的错误,Monkey将会停止并报错。通过多次并且不同设定下的Monkey测试才算它是一个稳定性足够的程序。MonkeyRunner使用1Monkey的使用简洁有效,但是总是给人感觉功能不够强大。所以,接下来向大家介绍非常给力的工具MonkeyRunner。一、什么是MonkeyRunnermonkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。通过monkeyrunner,您可以写出一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上。monkeyrunner工具的主要设计目的是用于测试功能/框架水平上的应用程序和设备,或用于运行单元测试套件,但您当然也可以将其用于其它目的。monkeyrunner工具与monkey工具并无关联。monkey工具直接运行在设备或模拟器的adbshell中,生成用户或系统的伪随机事件流。而monkeyrunner工具则是在工作站上通过API定义的特定命令和事件控制设备或模拟器。monkeyrunner工具为Android测试提供了以下特性:1.多设备控制:monkeyrunnerAPI可以跨多个设备或模拟器实施测试套件。您可以在同一时间接上所有的设备或一次启动全部模拟器(或统统一起),依据程序依次连接到每一个,然后运行一个或多个测试。您也可以用程序启动一个配置好的模拟器,运行一个或多个测试,然后关闭模拟器。2.功能测试:monkeyrunner可以为一个应用自动贯彻一次功能测试。您提供按键或触摸事件的输入数值,然后观察输出结果的截屏。3.回归测试:monkeyrunner可以运行某个应用,并将其结果截屏与既定已知正确的结果截屏相比较,以此测试应用的稳定性。4.可扩展的自动化:由于monkeyrunner是一个API工具包,您可以基于Python模块和程序开发一整套系统,以此来控制Android设备。除了使用monkeyrunnerAPI之外,您还可以使用标准的Pythonos和subpress模块来调用如adb这样的Android工具。您还可以向monkeyrunnerAPI中添加您自己的类。monkeyrunner工具使用Jython(使用Java编程语言的一种Python实现)。Jython允许monkeyrunnerAPI与Android框架轻松的进行交互。使用Jython,您可以使用Python语法来获取API中的常量、类以及方法。

8. Python Appium自动化测试 Monkey搭建+操作

Monkey 是 Android SDK 提供的一个命令行工具, 可以简单,方便地运行在任何版本的 Android 模拟器和实体设备上。 Monkey 会发送伪随机的用户事件流,适合对 App 做压力测试。

Monkey 测试就像一只猴拦春子,在电脑面前乱敲键盘在测试。 通过 Monkey 程序模拟用户触摸屏幕、滑动 Trackball 、 按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常。

Android 官方自动化测试领域这只 “猴子” 一旦启动,就会让被测的 Android 应用程序像猴子一样活蹦乱跳,到处乱跑。常用 Monkey 来对被测程序进行压力测试,检查和评估被测程序的稳定性。

Android 官方对梁衡物与 Monkey 的描述:

Monkey 是一个程序,运行在模拟器或设备上,并生成伪随机的用户事件流,如点击、触摸、手势,以及一些系统级事件。 你可以使用 Monkey 以随机但可重复的方式对正在开发的应用程序进行压力测试。

官方文档: http://www.android-doc.com/tools/help/monkey.html

安装 Android SDK 并配置环境变量。

Monkey 主要用于 Android 的压力测试,自动的一个压力测试小工具, 主要目的就是为了测试 app 是否会 Crash 。

(1) Monkey 程序由 Android 系统自带,使用 Java 诧言写成,在 Android 文件系统中的存放路径是: /system/framework/monkey.jar;

(2) Monkey.jar 程序是由一个名为 “monkey” 的 Shell 脚本来启动执行, shell 脚本在 Android 文件系统中 的存放路径是:/system/bin/monkey;

(3) Monkey 命令启动方式:

Monkey 运行在设备或模拟器上面,可以脱离 PC 运行。普遍做法是将 monkey 作为一个像待测应用发送随机按键消息的测试工具。验证待测应用在这些随机性的输入面前是否会闪退或者崩溃。

Monkey 虽然可以根据一个指定的命令脚本发送按键消息,但其支持条件判断,也支持读取待测界面的信息来执行验证操作。

Monkey 程序是橡液 Android 系统自带的,其启动脚本是位于 Android 系统的 /system/bin 目录的 Monkey 文件,其 jar 包是位于 Android 系统的 /system/framework 目录的 Monkey.jar 文件。用户主要是通过 adb 命令来启动 Monkey 的, Monkey 在运行时,会根据命令行参数的配置,生成伪随机的事件流,并在 Android 设备上执行对应的测试事件。同时, Monkey 还会对测试系统进行监测,当出现以下几种情况时会进行特殊处理:

以夜神模拟器为例:

1、检查设备连接状态

2、从上图看出,设备未连接,连接移动设备

3、再次查看设备连接状态

4、连接成功后输入命令:adb shell

5、进入到指定目录,命令:cd /system/bin

6、输入 monkey命令看到如下提示则说明启动成功

monkey 命令格式如下:

[options] 是指 monkey 可传入的参数,是可选项(如果不指定options,Monkey将以无反馈模式启动,并把事件任意发送到安装在目标环境中的全部包)

<event-count> 是指随机发送事件数。如:输入100就是执行100个伪随机事件,为必选项

测试工程师职业发展路线:
功能测试 — 接口测试 — 自动化测试 — 测试开发 — 测试架构师

内容就到这里,如果你对Python自动化软件测试感兴趣的话可以加入我们175317069扣裙一起学习。群里会有各项测试学习资源发放,更有行业深潜多年的技术人分析讲解。

作为测试工程师,不断提升自己工作能力是提高薪资待遇最重要的基础。另外也要注重学习, IT 行业是个不断发展、更新迭代相对较快的行业,技术具有明显的时代特征,所以紧跟时代技术的发展才能让自己不掉队,在职场当中具有足够的竞争力。

阅读全文

与monkey是什么程序相关的资料

热点内容
616可用qq音乐 浏览:841
jscss换肤 浏览:194
手机qq今日访客怎么算 浏览:923
word表格中如何插入表格 浏览:230
u盘自动运行文件 浏览:228
没有配置文件怎么删除 浏览:275
office2010怎么设置密码 浏览:500
编程软件推荐哪个好 浏览:691
索佳电视系统升级 浏览:296
怎么覆盖文件表格视频 浏览:884
货车拉韵达快递用什么app 浏览:949
安庆5g网络什么时候上市 浏览:936
文件输出流的相对路径 浏览:288
苹果5c升级时打不开机怎么回事 浏览:52
台湾虾皮网站怎么发货 浏览:303
vs2008格式化代码快捷键 浏览:579
潮流声音聊天交友app有哪些 浏览:406
txd文件怎么打开 浏览:693
高仿微信聊天界面文件语音 浏览:398
网络电视如何搜到想要看的韩剧 浏览:425

友情链接