monkey

monkey
monkey

以下是个例子:adb shell monkey -p com.android.contacts -v 100

运行结果相关解释如下:

各种事件所占的比例

// Event percentages:

// 0: 15.0%

// 1: 10.0%

// 2: 2.0%

// 3: 15.0%

// 4: 25.0%

// 5: 15.0%

// 6: 2.0%

// 7: 2.0%

// 8: 1.0%

表示跳转到com.android.contacts里面的activities.PeopleActivity这一个Activity里

:Switch:

#Intent;action=android.intent.action.MAIN;category=android.intent .categ

https://www.360docs.net/doc/9713321613.html,UNCHER;launchFlags=0x10000000;component=com.android.contact s/.activities.PeopleActivity;end

允许此Intent跳转

Allowing start of Intent { act=android.intent.action.MAIN

cat=[android.in

https://www.360docs.net/doc/9713321613.html,UNCHER]

cmp=com.android.contacts/.activities.PeopleActivity } in

package com.android.contacts

发送的一些动作:

:Sending Flip keyboardOpen=false

:Sending Touch (ACTION_DOWN): 0:(313.0,447.0)

:Sending Touch (ACTION_UP): 0:(313.19876,447.49512)

:Sending Touch (ACTION_DOWN): 0:(427.0,244.0)

:Sending Touch (ACTION_UP): 0:(432.7109,242.90211)

:Sending Trackball (ACTION_MOVE): 0:(-1.0,-1.0)

:Sending Trackball (ACTION_MOVE): 0:(1.0,-3.0)

:Sending Trackball (ACTION_MOVE): 0:(-1.0,-2.0)

:Sending Trackball (ACTION_UP): 0:(0.0,0.0)

允许此Intent跳转

Rejecting start of Intent { act=android.intent.action.MAIN cat=[android.i

ntent.category.HOME]

cmp=https://www.360docs.net/doc/9713321613.html,uncher/https://www.360docs.net/doc/9713321613.html,uncher } i

n package https://www.360docs.net/doc/9713321613.html,uncher

发送的一些动作:

:Sending Touch (ACTION_DOWN): 0:(257.0,623.0)

:Sending Touch (ACTION_UP): 0:(248.47726,614.0601)

:Sending Trackball (ACTION_MOVE): 0:(-1.0,-2.0)

:Sending Touch (ACTION_DOWN): 0:(353.0,213.0)

:Sending Touch (ACTION_UP): 0:(367.02255,212.70325)

:Sending Touch (ACTION_DOWN): 0:(460.0,688.0)

:Sending Touch (ACTION_UP): 0:(478.2656,720.0)

:Sending Trackball (ACTION_MOVE): 0:(-1.0,-4.0)

Events injected: 100

丢弃的,键=0,指针=0,轨迹球=0,翻转=0

:Dropped: keys=2 pointers=0 trackballs=0 flips=0

网络统计经过时间为10740ms,其中10740ms是用于在手机上的,0ms用于无线网络上,没有连接的时间为0ms

## Network stats: elapsed time=10740ms

(10740ms mobile, 0ms wifi, 0ms not connected)

// Monkey finished

?上一篇:了解monkey命令行的一些参数

?下一篇:monkeyrunner测试apk包安装卸载

monkey使用笔记

1.Monkey可以自动化,可以压力测试 2.Monkey可以连接模拟器可以连接真机 3.测试对象,包和类,包里面一般包含多个类 monkey –p com.android.gallery –v 50 monkey –c https://www.360docs.net/doc/9713321613.html,UNCHER –v 50 4.指定测试的事件类型和频率 monkey --pct-syskeys 90 200 系统按键事件的发生率为90%,共测试200次 monkey --pct-syskeys 90 –throttle 1000 200 每次事件相隔1秒中发生 monkey --pct-touch 50 --pct-trackball 40 200 表示触摸事件和轨迹事件发生概率分别为50%和40%,共测试200次 5.–ignore-crashes,忽略应用程序崩溃或发生的任何异常,继续向系统送事件直到计数 完成 monkey --ignore-crashes -v 5000 6.安装apk 进入cmd之后,默认为c:\Users\001620 键入dir 发现.android 把JieQian286.apk包拖入到C:\Users\001620\.android cd .android 得:c:\Users\001620.android

adb install JieQian286.apk (卸载:adb uninstall XXX.apk) 安装成功 需要注意的是adb shell之后,是输入shell命令的 安装应用install,查看设备连接adb devices,是在shell命令外层退出adb shell,可用exit 7.cd date,cd data,ls,就能看到我们安装了解的包了com.UPG.Liaojie,进而对这个包进行 压力测试 8.monkey中导出日志 C:\Users\001620>adb shell monkey -p com.UPG.LiaoJie -vvv 50 >e:\text.txt 此处需要注意的是,不能先adb shell,然后再键入命令,否则导入不成功 9.在monkey测试中常用的命令组合有: ●monkey -p com.yourpackage -v 500//简单的输出测试的信息。 ●monkey -p com.yourpackage -v -v -v 500 //以深度为三级输出测试信 息。 ●monkey -p com.yourpackage --port 端口号-v//为测试分配一个 专用的端口号,不过这个命令只能输出跳转的信息及有错误时输出信息。 ●monkey -p com.yourpackage -s 数字-v 500//为随机数的事件序 列定一个值,若出现问题下次可以重复同样的系列进行排错。 ●monkey -p com.yourpackage -v --throttle 3000 500//为每一次执行 一次有效的事件后休眠3000毫秒。

Android Monkey使用说明——手册

自动化测试工具Monkey 1、什么是Monkey Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。 2、Monkey的特征 A、测试的对象仅为应用程序包,有一定的局限性。 B、Monky测试使用的事件流数据流是随机的,不能进行自定义。 C、可对MonkeyTest的对象,事件数量,类型,频率等进行设置。 3、Monkey的基本用法 $ adb shell monkey –p(包)https://www.360docs.net/doc/9713321613.html, –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上对电池始终是不好的。只不过这种方式设备一旦休眠那么就可能需要重连。

Monkey测试方法总结

monkey测试方法总结 测试策略:全模块、单模块 测试步骤: 1、测试前准备: 1.PC侧安装adb驱动,使用adb shell命令不报错 2.手机设置:锁屏方式设置为无,屏幕亮度建议设成最低(防止电量消耗过大导致关机) 3.手机为刚刷的新版本或者进行一次恢复出厂设置 备注:或测试前请先删除自行安装的第三方:手机助手、测试工具apk等等 4.休眠设成最长时间或不休眠 5.设置-开发者选项中勾选不锁定屏幕 6.设置手机时间为当前正确时间 7.若要测试上网请连接可用wifi或打开数据业务 8.测试前需开启aplog*#*#201206#*#* 备注:测试前请确保日志功能开启,测试完成后先保存日志 adb root adb remount adb shell rm -rf /data/logs/* 作用就是删除以前的旧log 工具使用前请确定手机版本为debug版本,PC 的adb命令使用正常 附件解压到任意目录,双击InstalllogClient.bat会自动安装logClient客户端并重

启 手机配置: 1. 连接热点360WiFi-6CDC31,连接密码为xdjatest 2. 输入密码后勾选下面的高级选项-》将DHCP选项改为静态-》设置IP地址为11.12.112.196至199之间的IP,设置完IP直接点击连接,连接上热点后即配置完毕 2、测试执行: 先执行命令adb shell 再输入如下的命令: 全模块: monkey--throttle500--ignore-crashes--ignore-timeouts--ignore-security-exc eptions--ignore-native-crashes--monitor-native-crashes-v-v-v180000>/st orage/sdcard0/monkey_log.txt& 单模块: monkey-p.xdja.ncser--throttle500--ignore-crashes--ignore-timeouts--ign ore-security-exceptions--ignore-native-crashes--monitor-native-crashes-v-v-v180000>/storage/sdcard0/monkey_log.txt& 备注: 1、单模块命令加:-p模块包名; 2、测试9小时使用180000,测试18小时使用375000

monkeyRunner教程

Android自动测试之monkeyrunner工具 monkeyrunner工具 前言: 最近开始研究Android自动化测试方法,对其中的一些工具、方法和框架做了一些简单的整理,其中包括android测试框架、CTS、Monkey、Monkeyrunner、benchmark、其它test tool 等等。因接触时间很短,很多地方有不足之处,希望能和大家多多交流。 一、什么是monkeyrunner monkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。通过monkeyrunner,您可以写出一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上。monkeyrunner工具的主要设计目的是用于测试功能/框架水平上的应用程序和设备,或用于运行单元测试套件,但您当然也可以将其用于其它目的。 二、monkeyrunner工具同Monkey工具的差别 Monkey: Monkey工具直接运行在设备或模拟器的adb shell中,生成用户或系统的伪随机事件流。monkeyrunner: monkeyrunner工具则是在工作站上通过API定义的特定命令和事件控制设备或模拟器。 三、monkeyrunner的测试类型 1、多设备控制:monkeyrunner API可以跨多个设备或模拟器实施测试套件。您可以在同一时间接上所有的设备或一次启动全部模拟器(或统统一起),依据程序依次连接到每一个,然后运行一个或多个测试。您也可以用程序启动一个配置好的模拟器,运行一个或多个测试,然后关闭模拟器。 2、功能测试:monkeyrunner可以为一个应用自动贯彻一次功能测试。您提供按键或触摸事件的输入数值,然后观察输出结果的截屏。 3、回归测试:monkeyrunner可以运行某个应用,并将其结果截屏与既定已知正确的结果截屏相比较,以此测试应用的稳定性。

油猴脚本使用方法

《我们的精神角落》全部文案我张开双臂拥抱世界 世界也拥抱我 我经历的,未经历的 都是我想表达的 我自由 渴望交流 也懂得与人相处 但不强求共鸣 我勇敢 热爱和平 总奋不顾身的怀疑 怀疑...我在哪里 该去哪里 童年...或许还有过些 小时候的事 只有大人才记得 我健康 偶尔脆弱 但从不缺少照顾 也尝过爱情的滋味 如果不联络 朋友们并不知道我在哪里 但他们明白 除了这个小秘密 我只是一个极其平凡的人 我有时会张开双臂拥抱世界有时 我只想一个人。

油猴脚本(Tampermonkey),是一个脚本管理器,支持谷歌浏览器,欧朋浏览器、UC浏览器、海豚浏览器、360极速浏览器、windows10自带的Edge浏览器、傲游浏览器、火狐浏览器等,这些浏览器支持扩展程序,个人推荐360极速浏览器,无需翻墙,简单粗暴易上手。 1.在扩展中心中搜索“Tampermonkey”并安装, 2.进入https://https://www.360docs.net/doc/9713321613.html,/zh-CN,一个提供用户脚本的网站, 用户脚本是一段代码,它们能够优化您的网页浏览体验。安装之后,有些脚本能为网站添加新的功能,有些能使网站的界面更加易用,有些则能隐藏网站上烦人的部分内容。在Greasy Fork 上的用户脚本都是由用户编写并向全世界发表的,您可以免费安装,轻松体验。

敲“豆瓣”, 随便点两个

浏览器右上角显示已安装 我们来对比一下 这是正常的豆瓣电影网页

这是运行脚本后的豆瓣电影网页:

是的,右侧自动聚合了该电影的相关资源,有在线观看、离线下载、网盘保存供君选择。不止是影视剧,还有读书、音乐。

(完整word版)Monkey操作手册

Monkey操作手册 一、Monkey a) Monkey是什么? Monkey就是SDK中附带的一个工具。Monkey测试是Android自动化测试的 一种手段,Monkey测试本身非常简单,当Monkey程序在模拟器或设备运行 的时候,如果用户出发了比如点击,触摸,手势或一些系统级别的事件的时候, 它就会产生随机脉冲,所以可以用Monkey用随机重复的方法去负荷测试你开 发的软件。 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。 它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等), 实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件 的稳定性、健壮性的快速有效的方法。 b) Monkey测试的目的? 该工具用于进行压力测试。然后开发人员结合monkey打印的日志和系统打印的日志,结合测试中出现的问题。 c) Monkey的特征 i. Monky测试使用的事件流数据流是随机的,不能进行自定义。 ii. 测试的对象仅为应用程序包,有一定的局限性。 iii. 可对Monkey的对象,事件数量,类型,频率等进行设置。 二、环境搭建 a)连接手机: 1 Android需要Root,2 (不必须)安装RE,控制data/data 挂载权限工具安装 i.JDK安装:详细:JDK安装配置 ii.SDK安装:建议拷贝SDK包,解压后配置SDK环境变量或安装详细:SDK 安装配置 至此环境安装就结束了 三、Monkey:连接真机 因为模拟器和真机的巨大差距,建议使用真机做Monke自动化测试,如果没有真机,自行安装虚拟模拟器。 a)在cmd窗口下面输入adb decixes 显示出真机连接型号。 如果未出现

移动APP测试之Monkey Test 运用

移动APP测试之Monkey Test 运用 Monkey是Android平台自动化测试的一种手段,可以在模拟器里或实际设备中运行,它向系统发送伪随机的用户事件流,如按键输入、触摸屏输入、手势输入等,实现对正在开发的应用程序进行压力测试。 当然对于移动APP测试,monkey测试出了压力测试外,也可以做做简单的机型配适,就是测试App是否会出现crash等异常,以此来判读其释放与机型适配,可以发现程序无响应问题和崩溃问题。 接下来简单说说: Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是:/system/framework/monkey.jar; Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中的存放路径是:/system/bin/monkey; 特征 1、测试的对象仅为应用程序包,有一定的局限性。 2、Monky测试使用的事件流数据流是随机的,不能进行自定义。 3、可对MonkeyTest的对象,事件数量,类型,频率等进行设置。 这样就可以通过在CMD窗口中执行: adb shell monkey {+命令参数}来进行Monkey测试了。 基本使用 1. 进入monkey 命令:adb shell/system/bin/monkey 2. 运行monkey 命令:adb shell monkey 是指随机发送事件数 adb shell monkey 100,运行monkey并执行了100件随机事件。 3. monkey常规类命令 adb shell monkey -h 显示monkey参数帮助信息usage adb shell monkey -v 打印出日志信息,每个-v将增加反馈信息的级别,最多支持3个-v 4. monkey事件类命令

Android测试命令行工具Monkey使用教程

Monkey是什么 Monkey是可以运行在模拟器里或实际设备中的程序。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。 Monkey简介 Monkey是一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流,实现对正在开发的应用程序进行压力测试。Monkey包括许多选项,它们大致分为四大类: ·基本配置选项,如设置尝试的事件数量。 ·运行约束选项,如设置只对单独的一个包进行测试。 ·事件类型和频率。 ·调试选项。 在Monkey运行的时候,它生成事件,并把它们发给系统。同时,Monkey 还对测试中的系统进行监测,对下列三种情况进行特殊处理: ·如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止。 ·如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。 ·如果应用程序产生了应用程序不响应(application not responding)的错误,Monkey将会停止并报错。 按照选定的不同级别的反馈信息,在Monkey中还可以看到其执行过程报告和生成的事件。 Monkey的基本用法 可以通过开发机器上的命令行或脚本来启动Monkey。由于Monkey运行在模拟器/设备环境中,所以必须用其环境中的shell来进行启动。可以通过在每条命令前加上adb shell来达到目的,也可以进入Shell后直接输入Monkey命令。基本语法如下:$ adb shell monkey [options] 如果不指定options,Monkey将以无反馈模式启动,并把事件任意发送到安装在目标环境中的全部包。下面是一个更为典型的命令行示例,它启动指定的应用程序,并向其发送500个伪随机事件:$ adb shell monkey -p https://www.360docs.net/doc/9713321613.html, -v 500 命令选项参考

Delphi XE FireMonkey 自带Demo体验与效果图

Delphi XE FireMonkey Demo体验与效果图 版本:Delphi XE6FireMonkey DEMO:delphi FireMonkey自带 DEMO路径,在DELPHI XE6安装目录下:E:\Documents and Settings\All Users\Documents\Embarcadero\Studio\14.0\Samples 1●TabSlideTransition(分页可滑动翻页) 功能:每页可填写,并支持可滑动翻页 路径:Samples\Object Pascal\Mobile Samples\User Interface\TabSlideTransition 开启界面:

2●TabletMasterDetailWithSearch(查找联系人,定位,并显示明细) 功能:可以查找列表联系人,并定位,和显示明细 路径:Samples\Object Pascal\Mobile Samples\User Interface\TabletMasterDetailWithSearch 开启界面:

3●Settings Project(系统设置) 功能:打开USB调试,WIFI等设置 路径:Samples\Object Pascal\Mobile Samples\User Interface\Settings Project 开启界面:

4●ScrollableForm(滚动编辑框) 功能:滚动编辑框 路径:Samples\Object Pascal\Mobile Samples\User Interface\ScrollableForm 开启界面:

Monkey测试简介

Monkey测试简介 shell, monkey, system, Android, 文件系统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测试了。 三、Monkey命令的简单帮助 要获取Monkey命令自带的简单帮助,在CMD中执行命令: adb shell monkey –help 四、Monkey命令参数介绍 1) 参数:-p 参数-p用于约束限制,用此参数指定一个或多个包(Package,即App)。指定 包之后,Monkey将只允许系统启动指定的APP。如果不指定包,Monkey将允许系统启动设备中的所有APP。 * 指定一个包:adb shell monkey -p com.htc.Weather 100 说明:com.htc.Weather为包名,100是事件计数(即让Monkey程序模拟100次随机用户事件)。 * 指定多个包:adb shell monkey -p com.htc.Weather –p com.htc.pdfreader -p com.htc.photo.widgets 100 * 不指定包:adb shell monkey 100 说明:Monkey随机启动APP并发送100个随机事件。 * 要查看设备中所有的包,在CMD窗口中执行以下命令: >adb shell #cd data/data #ls 2) 参数: -v 用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应的参数如下表所示:

andriod自动化压力测试--monkey工具

有时候我们需要对一个软件进行压力测试,检查该软件的性能。如果是人工进行测试的话,效率会低很多,而且会比较枯燥。这时,Android 中的一个命令行工具Monkey就可以为我们减轻很多重复而又繁琐的工作。 一、Monkey简介 至于Monkey的名字是有何而来的呢?这个没有去怎么考究,Monkey这个工具就是一个调皮的猴子,在App中乱按、乱摸、乱滚、乱跳。Monkey测试是Android平台下自动化测试的一种快速有效的手段,通过Monkey工具可以模拟用户触摸屏幕、滑动轨迹球、按键等操作来对模拟器或者手机设备上的软件进行压力测试,检测该软件的稳定性、健壮性。它的原理是向系统发送伪随机的用户事件流(如按键输入、触摸输入、手势输入等),实现对正在开发的应用程序进行压力测试。 二、Monkey的特性 (1)测试的对象仅为应用程序包(apk包),有一定的局限性; (2)Monkey测试使用的事件流数据流是随机的,不能进行自定义; (3)可对MonkeyTest的对象、事件数量、类型、频率等进行设置。 虽然Monkey工具并不完善,但是足于应付应用程序的基本测试需要了。如果需要功能更强大的测试工具的话,可以使用Monkey的进化版MonkeyRunner。如果把Monkey看作是幼儿园的小孩,那么它的进化版MonkeyRunner就可以看作是一个初中生了。它支持自定义插件,控制事件,随时截图,简而言之,任何你在模拟器/设备中能干的事

情,MonkeyRunner都能干,而且还可以记录和回放。在这里,就不详细介绍MonkeyRunner了,具体可以参考其官方文档或者其他相关资料。 注:MonkeyRunner官方文档的网址 https://www.360docs.net/doc/9713321613.html,/guide/developing/tools/monkeyrunner_c oncepts.html 三、Monkey的基本用法 基本语法如下: $ adb shell monkey [options] 如果不指定options,Monkey将以无反馈模式启动,并把事件任意发送到安装在目标环境中的全部包。下面是一个更为典型的命令行示例,它启动指定的应用程序,并向其发送1000个伪随机事件:$ adb shell monkey -p https://www.360docs.net/doc/9713321613.html, -v number $ monkey -p(package的意思)指定文件名-v(测试的次数和频率)number(次数) 四、Monkey测试示例图解 通过简单的测试示例,初步了解并掌握Monkey测试的步骤。注意,这里主要是使用adb命令进行安装和相关操作。测试的具体参考步骤如下: (1)首先,先准备了一个测试用的应用程序(apk文件)。为了测试,这里选择了一个格瓦拉手机购票App进行测试。下载地址为: https://www.360docs.net/doc/9713321613.html,/mobile/mobileMovie.xhtml。 下载好后,得到下图所示的apk文件。

monkey压力测试工具使用入门

安卓Monkey工具 对于安卓app,可以使用Monkey[MON01]工具,它是安卓软件开发工具包(SDK)。Monkey 工具在物理设备或仿真器上都可以运行。运行时它生成虚拟随机的用户事件比如触摸,点击,旋转,重击,减低音量,关闭网络连接等对app进行压力测试,看看app是如何处理所有这些输入和中断的。你需要安卓apk文件的安装包名来执行Monkey工具,不然该工具就会针对整个手机执行其的随机命令而不是只对被测APP了。有了app代码,就可以在AndroidManifest.xml中找到安装包名。如果只有编译的apk文件,移动测试员可以使用Android Asset 打包工具 [AAP02] (AAPT),从app上获得安装包名。AAPT位于安装好的Android SDK的build-tools文件夹中。AAPT的路径如下: 用下面的命令,可以从apk文件中读出安装包名。 输入就会如下所示: 如果有了安装包名(本例中是com.myApp),就用adb (Android Debug Bridge) [ADB03]执行Monkey。下列命令将开始Monkey: 2000年表明了Monkey将在app上执行的随机命令的数量。有一个额外的参数, Monkey 将再次生成相同序列的事件。这对Monkey执行期间再现一个bug真的很重要。 UI AutoMonkey 对于iOS app来说,还可以使用一个类似的工具——UI AutoMonkey [UIA04]。UI AutoMonkey也能生成多个命令来对iOS app进行压力测试。要使用UI AutoMonkey,UIAutomation工具模板就要配置Xcode。配置好了之后,需要写一个JavaScript文件讲明压力测试期间需要执行多少以及哪些命令。

monkey命令详解

Android上压力测试命令monkey详解 一、Monkey 是什么 ◆Monkey是Android SDK中附带的一个命令行工具,可以运行在模拟器或者实际设 备中 ◆向系统发送伪随机的用户事件流(按键输入、触摸屏输入、手势输入等) ◆实现对正在开发的应用程序进行压力测试 ◆Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法 二、Monkey程序介绍 ◆Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中 的存放路径是:/system/framework/monkey.jar ◆Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在 Android文件系统中的存放路径是:/system/bin/monkey 三、Monkey 测试的目的 开发人员结合monkey 打印的日志和系统打印的日志,分析测试中出现的问题 ◆ANR问题:在日志中搜索“ANR” ◆崩溃的问题:在日志中搜索“Exception” 说明: ANR:Application Not Responding,在Android中,如果应该程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应对话框,用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”应用。好的程序应该能流畅运行,不能出现ANR问题。 四、Monkey 测试的特点 ◆测试的对象仅为应用程序包,有一定的局限性(不能对源码进行测试) ◆测试使用的所有事件流数据流都是随机产生的,不能进行自定义,不带任何人的主 观性 ◆可对MonkeyTest的对象,事件数量,类型,频率等进行设置 五、Monkey 命令详解 1、标准的monkey 命令 [adb shell] monkey [options] 如果不指定options,Monkey将以无反馈模式启动,并把事件任意发送到安装在目标环境中的全部包 如:adb shell monkey -p https://www.360docs.net/doc/9713321613.html, -v 500 -p 指定测试程序包名

【Android Monkey自动测试工具使用报告】

关于Android Monkey自动化测试的报告 1自动化测试背景 软件测试是软件产品开发过程中的重要环节。测试对于发现软件中缺陷,保障软件的质量具有重要意义。统计表明,软件测试的时间通常占到软件开发时间的40%,一些可靠性要求高的软件甚至高达60%以上。 手工测试和自动化测试是软件测试的两种基本手段,二者相互补充,不可相互替代。其中,自动化测试能捕捉到资源冲突、多线程、死锁等手工测试难以发现的错误,可以高效的完成大量机械性、重复性测试,能模拟大量数据或大量并发用户等应用场景,从而有效的缩短软件测试周期,提高测试的可靠性及准确度。 2什么是Monkey Monkey测试是Android自动化测试的手段之一,它通过模拟用户的按键输入、触摸屏输入等,测试设备多长时间出现异常。Monkey是一个命令行工具,可以运行在模拟器或实际设备中,通过向系统发送伪随机的用户事件流,实现对全系统或某个应用程序进行压力测试。 Monkey工具使用非常简单,直接在命令窗口键入monkey命令即可进行测试。Monkey命令有较多的配置选项,为便于理解这些命令,此处先将其命令选项简单划分为四大类,在后文中陆续介绍各种命令选项的使用,然后在附录中附上整个monkey命令选项便于查阅。Monkey命令可简单分为如下四类: 基本配置选项,如设置尝试的事件数量 运行约束选项,如设置只对单独的一个包进行测试 事件类型和频率,如设置触摸屏事件的发生频率 调试选项,如设置忽略应用程序异常,继续向系统发送事件,直到计数完成 3使用monkey进行自动化测试 Monkey命令工具可以在模拟器和实际设备上使用。这里分别对两种环境下的monkey测试进行介绍。 3.1 在模拟器上运用Monkey进行自动化测试 3.1.1 monkey命令最简单用法 首先,介绍最简单monkey命令用法,其使用格式为如下: monkey n 其中,n为一个整数,表示用于测试的伪随机事件发生的次数。 如图3.1所示,启动模拟器。然后,在命令行窗口下输入adb shell命令,如图3.2所示。登录shell之后,即可使用monkey命令。最简单的用法是,直接在其后面指定一个数字,表示向系统发送事件的数量,如图3.3所示。模拟器的测试的结果如图3.4所示。

Android自动测试中的monkey工具使用方法

Android自动测试中的monkey工具使用方法 今天在公司使用Monkey Test这个工具进行android的自动化测试,感觉很不错,大家可以试试啊 以下是从网上看到的相关介绍,大家一起学习学习 简介 Monkey是一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流,实现对正在开发的应用程序进行压力测试。Monkey包括许多选项,它们大致分为四大类: ·基本配置选项,如设置尝试的事件数量。 ·运行约束选项,如设置只对单独的一个包进行测试。 ·事件类型和频率。 ·调试选项。 在Monkey运行的时候,它生成事件,并把它们发给系统。同时,Monkey还对测试中的系统进行监测,对下列三种情况进行特殊处理: ·如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止。 ·如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。 ·如果应用程序产生了应用程序不响应(application not responding)的错误,Monkey将会停止并报错。 按照选定的不同级别的反馈信息,在Monkey中还可以看到其执行过程报告和生成的事件。 Monkey基本用法 可以通过开发机器上的命令行或脚本来启动Monkey。由于Monkey运行在模拟器/设备环境中,所以必须用其环境中的shell来进行启动。可以通过在每条命令前加上adb shell来达到目的,也可以进入Shell后直接输入Monkey命令。基本语法如下: $ adb shell monkey [options]

如果不指定options,Monkey将以无反馈模式启动,并把事件任意发送到安装在目标环境中的全部包。下面是一个更为典型的命令行示例,它启动指定的应用程序,并向其发送500个伪随机事件: $ adb shell monkey -p https://www.360docs.net/doc/9713321613.html, -v 500 命令选项参考 下表中列出了Monkey命令行可用的全部选项。 类别 选项 说明 常规 --help 列出简单的用法。 -v 命令行的每一个-v将增加反馈信息的级别。Level 0(缺省值)除启动提示、测试完成和最终结果之外,提供较少信息。Level 1提供较为详细的测试信息,如逐个发送到Activity的事件。Level 2提供更加详细的设置信息,如测试中被选中的或未被选中的Activity。 事件 -s 伪随机数生成器的seed值。如果用相同的seed值再次运行Monkey,它将生成相同的事件序列。 --throttle 在事件之间插入固定延迟。通过这个选项可以减缓Monkey的执行速度。如果不指定该选项,Monkey将不会被延迟,事件将尽可能快地被产成。 --pct-touch 调整触摸事件的百分比(触摸事件是一个down-up事件,它发生在屏幕上的某单一位置)。 --pct-motion 调整动作事件的百分比(动作事件由屏幕上某处的一个down事件、一系列的伪随机事件和一个up事件组成)。 --pct-trackball 调整轨迹事件的百分比(轨迹事件由一个或几个随机的移动组成,有时还伴随有点击)。

Monkeys Audio傻瓜教程

Monkeys Audio傻瓜教程 很多朋友不知道“APE”为何物,另外一些朋友下载到了APE文件之后不知道如何播放,所以写这样一篇傻瓜教程给广大菜鸟音乐爱好者还是很有必要的。 首先要弄清楚APE的本质,其实它是一种无损压缩音频格式。庞大的WAV音频文件可以通过Monkey's Audio这个软件进行“瘦身”压缩为APE。很多时候它被用做网络音频文件传输,因为被压缩后的APE文件容量要比WAV源文件小一半多,可以节约传输所用的时间。更重要的是,通过Monkey's Audio解压缩还原以后得到的WAV文件可以做到与压缩前的源文件完全一致。所以APE被誉为“无损音频压缩格式”,Monkey's Audio被誉为“无损音频压缩软件”。与采用WinZip 或者WinRAR这类专业数据压缩软件来压缩音频文件不同,压缩之后的APE音频文件是可以直接被播放的。Monkey's Audio会向Winamp中安装一个 “in_APE.dll”插件,从而使Winamp也具备播放APE文件的能力。 点击菜单栏下面第一个图标旁边向下的箭头,会出现一行单选项,第一项是“Compress”,第二项“Decompress”, 制作或是解压APE文件就靠这两个选项控制。Compress表示压缩,也就是 WAV=>APE;而Decompress表示解压缩,也就是APE=>WAV。如我们现在要将一个WAV压缩为APE,则选择“Compress”。下一步,我们则要选择,压缩的等级,按动第二个按钮边向下的箭头会出现“Fast”、“Normal”、“High”以及“Extra High”四个选项,分别代表不同的压缩等级,“Fast”级压缩速度最快,文件容量最大,以此类推,“Extra High”级压缩速度最慢,但压缩率最高,文件最小,大家可以按照自己的喜好选择最合适的压缩等级。随后便可以通过第三个或者第四个图标来加入单个WAV或者加入整个文件夹中的WAV文档。被选择的文件会出现在下面的信息栏当中。此时再按动第一个“Compress”按钮,软件就开始按照您指定的压缩等级开始工作了,进度栏在软件的右下方。 将APE还原为WAV也很方便,首先先要把软件设置在“Decompress”状态,按动第一个图标按钮选择相应的项目就行了,然后再按一下按钮,软件就自动开始解压缩工作了。 使用 Exact Audio Copy 软件,可以一次性整盘抓轨,制作成整轨CDImage.ape 文件,同时具备了CDImage.cue文件。 制作方法如下: 选择压缩选项,出现选项对话框。 在“外部压缩程序”项内,去掉“使用外部压缩程序”的选择。 在“波形”选项内,波形格式自动为“猴子3.97”,采样格式选择为如图所示的选项,含义为正常压缩。 点操作??抓取镜像并创建CUE目录文件??已压缩,开始压缩。 压缩时首先检测音轨,开始整轨抓光盘;自动进行APE压缩,保存成CDImage.ape,并产生CDImage.cue文件。

介绍5种Android自动化测试工具

作为一名软件研发者,对于Android你肯定不会陌生。随着科技的日新月异,Android 在我们的生活中已经变得无处不在,手机就是一个最好的例子,我们现在常常都会用到手机。但是你知道Android自动化测试的工具有哪几种吗?小编现在就一一为你讲解。 随着科技的发展,现在已经有很多的Android自动化测试架构或工具可以供我们使用了,其中包括:ActivityInstrumentation,DroidPilot,MonkeyRunner,Robotium,以及Robolectric。另外LessPainful也提供了服务来进行真实设备上的自动化测试。 其实,Android自身就已经提供了对instrumentation测试的基本支持,其中之一就是位于Android.test包内的ActivityInstrumentationTestCase2类,它扩展了JUnit的TestCase类用来提供Androidactivities的功能测试。在应用测试中,每一个Activity首先都会被Instrumentation初始化,然后再加载到Android模拟器或设备的Dalvik虚拟机中来执行。 1.DroidPilot:一个新出android自动化测试工具 DroidPilot是一个自动化测试工具。它可以针对于Android平台的应用程序进行测试 脚本编辑、自动回放、结果检查、报告输出等操作,以此来缩短回归测试的时间和提升项目整体进度。测试的脚本不仅可以运行于模拟器,更可以同时运行于多台移动设备,这样更能凸显测试结果的真实性和可比性。 2.MonkeyRunner:AndroidSDK自带一个测试工具 MonkeyRunner提供的API和执行环境可以运行Python语言编写的测试代码。它提供了API来连接设备,安装、卸载应用,运行应用,截屏,比对图片来判断特定命令执行后的屏幕是否包含预期信息,以及运行对应用的测试。MonkeyRunner使用ActivityInstrumentationTestCase2,ProviderTestCase, ServiceTestCasek,SingleLaunchActivityTestCase及其他类来定义测试用例,并使用InstrumentationTestRunner类来运行测试。 3.Robotium:被称之为针对Android应用的又一个Selenium Robotium是另一种通过InstrumentationTestRunner来完成Android交互式测试的架构,它可以横跨多个activities,并且支持功能测试,系统测试和接收测试。Robotium支持Activities、Dialogs、Toasts、Menus、ContextMenus甚至Honeycomb,并且它可以同Maven和Ant集成来完成持续集成测试。 4.Robolectric:Pivotal实验室声称使用Robolectric可以在28秒内运行1047个测 试 Robolectric另辟蹊径,它并不依赖于Android提供的测试功能,它使用了shadowobjects并且运行测试于普通的工作站、服务器JVM,不像模拟器或设备需要 dexing(Androiddex编译器将类文件编译成Android设备上的DalvikVM使用的格式),打包,部署和运行的过程,大大减少了测试执行的时间。

monkeyrunner详细介绍以及编写简单的python脚本

MonkeyRunner: monkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。通过monkeyrunner,您可以写出一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上。monkeyrunner工具的主要设计目的是用于测试功能/框架水平上的应用程序和设备,或用于运行单元测试套件,但您当然也可以将其用于其它目的。 monkeyrunner工具与用户界面/应用程序测试工具,也称为monkey工具并无关联。m onkey工具直接运行在设备或模拟器的adbshell中,生成用户或系统的伪随机事件流。而monkeyrunner工具则是在工作站上通过API定义的特定命令和事件控制设备或模拟器。1、MonkeyRunner的特性 1)多设备控制:monkeyrunner API可以跨多个设备或模拟器实施测试套件。您可以在同 一时间接上所有的设备或一次启动全部模拟器(或统统一起),依据程序依次连接到每一个,然后运行一个或多个测试。您也可以用程序启动一个配置好的模拟器,运行一个或多个测试,然后关闭模拟器。 2)功能测试:monkeyrunner可以为一个应用自动贯彻一次功能测试。您提供按键或触摸 事件的输入数值,然后观察输出结果的截屏。 3)回归测试:monkeyrunner可以运行某个应用,并将其结果截屏与既定已知正确的结果 截屏相比较,以此测试应用的稳定性。 4)可扩展的自动化:由于monkeyrunner是一个API工具包,您可以基于Python模块和 程序开发一整套系统,以此来控制Android设备。除了使用monkeyrunner API之外,您还可以使用标准的Python os和subprocess模块来调用如adb这样的Android 工具。 您还可以向monkeyrunner API中添加您自己的类。我们将在使用插件扩展monkeyrun ner一节中对此进行详细讨论。 2、一个简单的monkeyrunner程序实例 以下为一个简单的monkeyrunner程序,它将会连接到一个设备,创建一个MonkeyDev ice对象。使用MonkeyDevice对象,程序将安装一个Android应用包,运行其中一个活动,并向其发送按键事件。程序接下来会将结果截图,创建一个MonkeyImage对象,并使用这个对象截图将保存至.png文件。 # 导入此程序所需的monkeyrunner模块 from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice # 连接当前设备,返回一个MonkeyDevice对象 device = MonkeyRunner.waitForConnection() # 安装Android包,注意,此方法返回的返回值为boolean,由此您可以判断安装过程是否正常 device.installPackage('myproject/bin/MyApplication.apk') # 运行此应用中的一个活动device.startActivity(component='com.android.settings/.Settings')

相关文档
最新文档