monkey测试monkeytest是什么意思

monkey测试  时间:2021-07-16  阅读:()

怎么使用monkey测试开关机100次

一、为什么要用Monkey 测试? 简单在说就是象猴子一样乱点,为了测试软件的稳定性,健壮性。

号称最快速有效的方法。

有时候运行相同系列的测试,即使是复杂的测试,但是以相同的顺序和路径,即使一遍又一遍地运行也很少机会能发现内存和资源使用的bug。

而此时猴子就比人更有效了。

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

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

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

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

· 事件类型和频率。

· 调试选项。

在Monkey运行的时候,它生成事件,并把它们发给系统。

同时,Monkey还对测试中的系统进行监测,对下列三种情况进行特殊处理: · 如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止。

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

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

按照选定的不同级别的反馈信息,在Monkey中还可以看到其执行过程报告和生成的事件。

二、怎么用的? 首先用一个最简单的例子分析: //p参数: 表示指定测试的程序 //v参数: 表示查看monkey生成的一些详细的随机的事件名 //数字100: 表示测试事件数为100 monkey .example.android.apis? -v -v -v 100 结果如下: :Monkey: seed=0 count=100 :AllowPackage:.example.android.apis :IncludeCategory: android.intent.category.LAUNCHER :IncludeCategory: android.intent.category.MONKEY //各种事件所占的比例。

//各数字分别表示: [--pct-touch PERCENT] [--pct-motion PERCENT] [--pct-trackball PERCENT] [--pct-syskeys PERCENT] [--pct-nav PERCENT] [--pct-majornav PERCENT] [--pct-appswitch PERCENT] [--pct-flip PERCENT] [--pct-anyevent PERCENT] // 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% :Switch: //表示跳转.example.android.apis 里面的ApiDemos这一个Activity里。

#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=.example.android.apis/.ApiDemos;end //允许此Intent跳转, ????// Allowing start of Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] .example.android.apis/.ApiDemos } in .example.android.apis //发送的一些动作,如点击按下,点击放开,移动。

:Sending Pointer ACTION_MOVE x=-4.0 y=2.0 :Sending Pointer ACTION_UP x=0.0 y=0.0 :Sending Pointer ACTION_DOWN x=207.0 y=282.0 :Sending Pointer ACTION_UP x=189.0 y=289.0 :Sending Pointer ACTION_DOWN x=95.0 y=259.0 :Sending Pointer ACTION_UP x=95.0 y=259.0 :Sending Pointer ACTION_DOWN x=295.0 y=223.0 :Sending Pointer ACTION_UP x=290.0 y=213.0 :Sending Pointer ACTION_MOVE x=-5.0 y=3.0 :Sending Pointer ACTION_MOVE x=0.0 y=-5.0 //拒绝此跳转,因为它是跳转到非它自己的包的Activity,本测试中是指写测试它程序所在的包,此跳转是跳出本程序,进入到桌面。

????// Rejecting start of Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] .android.launcher/.Launcher } in .android.launcher //继续发送动作。

:Sending Pointer ACTION_DOWN x=74.0 y=201.0 :Sending Pointer ACTION_UP x=74.0 y=201.0 :Sending Pointer ACTION_MOVE x=3.0 y=-2.0 :Sending Pointer ACTION_UP x=0.0 y=0.0 :Sending Pointer ACTION_MOVE x=-4.0 y=2.0 Events injected: 100 //丢弃的,键=0,指针=0,轨迹球=0,翻转=0。

:Dropped: keys=0 pointers=0 trackballs=0 flips=0 //网络统计经过时间为4202ms,其中4202ms是用于在手机上的,0ms用于无线网络上,没有连接的时间为0ms。

## Network stats: elapsed time=4202ms (4202ms mobile, 0ms wifi, 0ms not connected) //monkey测试完成。

// Monkey finished 从例子中可以看出,该程序在这次测试中没有问题,若程序出现问题终端将打印出异常供程序员查找错误。

以下是monkey命令行的一些参数: -p:所在测试的包,可以是一个也可以是多个 如 monkey .androd.sms .androd.explorer -c:如果用此参数指定了一个或几个类别,Monkey将只允许系统启动被这些类别中的某个类别列出的Activity。

如果不指定任何类别,Monkey将选择下列类别中列出的Activity: Intent.CATEGORY_LAUNCHER或Intent.CATEGORY_MONKEY。

要指定多个类别,需要使用多个-c选项,每个-c选项只能用于一个类别。

-ignore-crash:当应用程序崩溃或发生任何失控异常时,Monkey将停止运行。

如果设置此选项,Monkey将继续向系统发送事件,直到计数完成。

-ignore-timeouts:通常,当应用程序发生任何超时错误(如“Application Not Responding”对话框)时,Monkey将停止运行。

如果设置此选项,Monkey将继续向系统发送事件,直到计数完成。

-ignore-security-exceptions:通常,当应用程序发生许可错误(如启动一个需要某些许可的Activity)时,Monkey将停止运行。

如果设置了此选项,Monkey将继续向系统发送事件,直到计数完成。

-monitor-native-crashes:监视并报告Android系统中本地代码的崩溃事件。

如果设置了–kill-process-after-error,系统将停止运行。

-kill-process-after-error:如果程序出现错误,monkey将结束此程序进程。

-hprof:设置此项,将在monkey事件序列之前和之后立即生成profilling报告。

这将会在data/misc中生成大文件(约5mb)所以要小心使用它。

-pct-touch:调整触摸事件的百分比(触摸事件是一个down-up事件,它发生在屏幕的某单一位置)。

-pct-motion:动作事件的百分比(动作事件由屏幕上某处的一个down事件、一系列的随机事件和一个up事件组成)。

-pct-trackball:调整轨迹事件的百分比(轨迹事件由一个或几个随机移动组成,有时还伴随着点击)。

-pct-syskeys:调整系统按键事件的百分比(这些按键通常被保留,由系统使用,如home,back,start call,end call及音量控制)。

-pct-nav 调整基本导航事件的百分比(导航事件来自方向输入设备的up/down/left/right组成)。

-pct-majornav:调整“主要”导航事件的百分比(这些导航事件通常引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键) -pct-appswitch:调整启动Activity的百分比。

在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全部Activity的一种方法。

-pct-anyevent:调整启动Activity的百分比。

它包罗了所有其它的事件类型,如:按键,其它不常用的设备按钮。

-pct-flip: –wait-dbg:停止执行中的Monkey,直到有调试器和它相连接。

–dbg-no-events:设置此选项,Monkey将执行初始启动,进入到一个测试Activity,然后不会再进一步生成事件。

为了得到最佳结果,把它与-v、一个或几个包约束、以及一个保持Monkey运行30秒或更长时间的非零值联合起来,从而提供一个环境,可以监视应用程序所调用的包之间的转换。

-setup: -f: -port:为monkey开启专用端口。

此时只monkey不会帮你乱点击,而此时你自己就是一只monkey了,在你乱点的时候,monkey会输出你点击后回馈的信息。

如果你打完命令之后模拟器上没有启动你所要启动的包,你需要自己启动,但是你只能启动你-p中指定的那几个包。

ctrl+c中断。

--throttle :当事件起效时等待的毫秒数。

-s:随机数生成器的seed值。

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

COUNT:要发送的事件数。

usage: monkey [-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...] ??????????????[-c MAIN_CATEGORY [-c MAIN_CATEGORY] ...] ??????????????[--ignore-crashes] [--ignore-timeouts] ??????????????[--ignore-security-exceptions] [--monitor-native-crashes] ??????????????[--kill-process-after-error] [--hprof] ??????????????[--pct-touch PERCENT] [--pct-motion PERCENT] ??????????????[--pct-trackball PERCENT] [--pct-syskeys PERCENT] ??????????????[--pct-nav PERCENT] [--pct-majornav PERCENT] ??????????????[--pct-appswitch PERCENT] [--pct-flip PERCENT] ??????????????[--pct-anyevent PERCENT] ??????????????[--wait-dbg] [--dbg-no-events] ??????????????[--setup scriptfile] [-f scriptfile [-f scriptfile] ...] ??????????????[--port port] ??????????????[-s SEED] [-v [-v] ...] [--throttle MILLISEC] ??????????????COUNT

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

Windows下(注:2—4步是为了查看我们可以测试哪些应用程序包,可省略):  1、通过eclipse启动一个Android的emulator  2、在命令行中输入:adbdevices查看设备连接情况  C:DocumentsandSettingsAdministrator>adbdevices  Listofdevicesattached  emulator-5554device  3、在有设备连接的前提下,在命令行中输入:adbshell进入shell界面  C:DocumentsandSettingsAdministrator>adbshell  4、查看data/data文件夹下的应用程序包。

注:我们能测试的应用程序包都在这个目录下面  C:DocumentsandSettingsAdministrator>adbshell  如: .android.htmlviewer .android.settings speed .android.providers.userdictionary .android.browser .android.contacts .android.alarmclock  等  5.在其中找到我们需要测试的包.marshalchen.MonkeyTest1  6、.marshalchen.MonkeyTest1作为对象进行MonkeyTest  .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使用  1  Monkey的使用简洁有效,但是总是给人感觉功能不够强大。

所以,接下来向大家介绍非常给力的工具MonkeyRunner。

  一、什么是MonkeyRunner  monkeyrunner工具提供了一个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中的常量、类以及方法。

android测试monkey什么意思

Monkey是Android中自带的用来进行压力测试的一个命令行工具。

用Monkey进行App压力测试的结果有三种。

1、正常。

2、Crash :程序崩溃。

3、ANR:程序无响应。

第一步:搭建环境:主要是安装和搭建java和sdk环境,说白了,对我们安卓开发来说,只要搭建好了Android开发环境,Monkey测试环境基本就是OK的了。

第二步:准备好要测试的项目,比如可以是一个.apk安装包,也可以是已经安装到手机上的软件 。

第三步:连接上Android测试设备,可以是模拟器,当然也可以是手机,通过adb 命令对测试项目进行Monkey测试。

当然这一测试也是存在着优缺点的。

优点:功能强大, 主要用于压力和稳定性测试。

缺点:本身不提供截屏功能,本身无法完成录制、回放的功能(不过都可以借用其他的开源工具来实现Monkey的截屏和录制等功能)。

android monkey测试结果怎么分析?

一. 初步分析方法: Monkey测试出现错误后,一般的差错步骤为以下几步: 1、 找到是monkey里面的哪个地方出错 2、 查看Monkey里面出错前的一些事件动作,并手动执行该动作 3、 若以上步骤还不能找出,可以使用之前执行的monkey命令再执行一遍,注意seed值要一样 一般的测试结果分析: 1、 ANR问题:在日志中搜索“ANR” 2、 崩溃问题:在日志中搜索“Exception” 二. 详细分析monkey日志: 将执行Monkey生成的log,从手机中导出并打开查看该log;在log的最开始都会显示Monkey执行的seed值、执行次数和测试的包名。

首先我们需要查看Monkey测试中是否出现了ANR或者异常,具体方法如上述。

monkey如何使用?

通常,当应用程序崩溃或发生任何失控异常时,Monkey将停止运行。

如果设置--ignore-crashes,Monkey将继续向系统发送事件,直到计数完成。

通常,当应用程序发生任何逾时错误(如“Application Not Responding”对话框)时,Monkey将停止运行。

如果设置--ignore-timeouts,Monkey将继续向系统发送事件,直到计数完成我也是才学这个的,还没用过,呵呵````有问题大家一起讨论啊

monkeytest是什么意思

简介monkey testing, 也有人叫做搞怪测试。

  就是用一些稀奇古怪的操作方式去测试被测试系统,以测试系统的稳定性。

monkey test,一般指这样的测试活动,用毫无规律的指令或操作使用被测系统,观察系统的稳定性和容错性能。

原理Monkey测试是Android自动化测试的一种手段,Monkey测试本身非常简单,就是模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常。

当Monkey程序在模拟器或设备运行的时候,如果用户触发了比如点击,触摸,手势或一些系统级别的事件的时候,它就会产生随机脉冲,所以可以用Monkey用随机重复的方法去负荷测试你开发的软件.

CloudCone:$17.99/年KVM-1GB/50GB/1TB/洛杉矶MC机房

CloudCone在月初发了个邮件,表示上新了一个系列VPS主机,采用SSD缓存磁盘,支持下单购买额外的CPU、内存和硬盘资源,最低年付17.99美元起。CloudCone成立于2017年,提供VPS和独立服务器租用,深耕洛杉矶MC机房,最初提供按小时计费随时退回,给自己弄回一大堆中国不能访问的IP,现在已经取消了随时删除了,不过他的VPS主机价格不贵,支持购买额外IP,还支持购买高防IP。下面列...

湖北22元/月(昔日数据)云服务器,国内湖北十堰云服务器,首月6折

昔日数据怎么样?昔日数据新上了湖北十堰云服务器,湖北十堰市IDC数据中心 母鸡采用e5 2651v2 SSD MLC企业硬盘 rdid5阵列为数据护航 100G高防 超出防御峰值空路由2小时 不限制流量。目前,国内湖北十堰云服务器,首月6折火热销售限量30台价格低至22元/月。(注意:之前有个xrhost.cn也叫昔日数据,已经打不开了,一看网站LOGO和名称为同一家,有一定风险,所以尽量不要选择...

提速啦(24元/月)河南BGP云服务器活动 买一年送一年4核 4G 5M

提速啦的来历提速啦是 网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑 由赣州王成璟网络科技有限公司旗下赣州提速啦网络科技有限公司运营 投资1000万人民币 在美国Cera 香港CTG 香港Cera 国内 杭州 宿迁 浙江 赣州 南昌 大连 辽宁 扬州 等地区建立数据中心 正规持有IDC ISP CDN 云牌照 公司。公司购买产品支持3天内退款 超过3天步退款政策。提速啦的市场定位提速啦主...

monkey测试为你推荐
flash控件手机怎么安装flash插件settimer如何使用SetTimer MFC 够详细showwindowvb ShowWindow 的使用方法 隐藏/显示 指定窗口 (完整代码)谢谢查字网拐字换什么偏旁 成新字云图片云相册是什么意思arc是什么意思数学中的arctan是什么意思editplus破解版手机的常用软件和ngage的破解版索引超出了数组界限索引超出了数组界限是怎么回事啊?flowplayerswfobject.js这能不能播放音频啊(amr)layoutsubviews如何修改TableViewCell中的ImageView的Frame和大小
云南虚拟主机 香港服务器租用 重庆服务器租用 便宜vps 二级域名申请 国外永久服务器 z.com 圣迭戈 linkcloud 国内永久免费云服务器 mach wordpress技巧 patcha 空间服务商 什么是服务器托管 免费邮件服务器 海外空间 dnspod lick 永久免费空间 更多