Monkey (压力测试)-移动端手机压力测试工具 monkey以及monkeyrunner
4. Monkey (压力测试)
这个是Android提供的系统工具。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。
■
测试的对象仅为应用程序包,有一定的局限性。
■
Monky测试使用的事件流数据流是随机的,不能进行自定义。
■
可对MonkeyTest的对象,事件数量,类型,频率等进行设置。
1.Monkey是什么以及有什么用
Monkey 就是Android中的一个命令行工具,可以运行在模拟器和实际设备中,它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。然后开发人员结合monkey 打印的日志和系统打印的日志,解决测试中出现的问题。Monkey测试是一种测试软件的稳定性快速有效的方法
2.环境配置
要使用monkey必须配置环境,步骤如下:
1.下载android-sdk-windows,链接\\192.168.1.47\测试部共享\鄢明辉
2.解压android-sdk-windows.zip,将解压后得到的android-sdk-windows文件夹放在一个固定的路径下不要随意移动,例如放在D盘根目录下:F:\android-sdk-windows(路径根据个人喜好可随意设置,但是一旦设置好请勿再移动)
3.分别双击F:\android-sdk-windows\ platform-tools文件夹中的adb.exe以及fastboot.exe
4.WiN7系统:右键计算机->属性->高级系统设置->环境变量->在系统变量中找到Path->双击Path或点击编辑->将路径F:\android-sdk-windows\platform-tools复制到最后 注意:在F:\android-sdk-windows\platform-tools之前要加一个英文状态下的;
(实际上可以添加多个路径,每个路径都用分号;隔开)
如图:
5.xp系统是同样的道理,右键我的电脑->属性->高级->环境变量->在系统变量中找到Path->双击Path或点击编辑-,将路径F:\android-sdk-windows\platform-tools复制到最后 注意:在F:\android-sdk-windows\platform-tools之前要加一个英文状态下的;
6.打开开始菜单,点击运行,输入cmd,回车,输入adb-decvices,回车,出现如图所示,即说明已配置成功并可正常使用
7.把手机连接到电脑,输入adb-decvices,若出现如图所示,即说明设备已经成功连接
0123456789ABCDEF是关于手机->状态消息->序列号
3.用各种命令对手机进行操作和测试
adb remount
获取更高的权限,仅限于ENG版本(工程版本)和已取得root权限,否则会有如下提示
adb pull <原始路径> <目标路径>
将原始路径的文件导出到目标路径
很形象,就是将文件从原始路径推到目标路径
如:adb pull system/app/XXX.apk D:/
->将手机system/app目录下的xxx.apk导出到D盘根目录
->需要注意system/app需要有ROOT权限或者是ENG版本才有导入/导出权限
->导入前需要先adb remount(获取更高权限一下),不然成功不了
例如测试经常用到的三条命令,也都是如此
adb logcat -v time > d:log.txt 现抓adb log并导出log到电脑D盘根目录
adb pull /sdcard/mtklog d:mtklog 用adb的方式导出mtklog到电脑D盘根目录
adb pull /data/anr d:anr 导出anr log到电脑D盘根目录
3.运行实例:
- 链接手机,输入adb devices查看设备的连接情况
如图即为链接成功
2,。确认设备连接成功后,输入adb shell进入shell界面
$代表user版本,如果是#则代表当前版本是ENG版本
3.查看系统的程序
命令ls system/app
4.随便挑一个程序,以浏览器为例:
输入monkey -p com.android.browser -v 500
其中其中-p表示对象包 –v 表示反馈信息级别,它启动浏览器,并向其发送500个伪随机事件,数字是可以随意改的。
确定后在手机上可以看见屏幕上浏览器的界面不断变化,模拟各种操作。
更多命令可以参考附件
Monkeyrunner
1首先说一下monkey和monkeyrunner的区别
Monkey工具直接运行在设备或模拟器的adb shell中,生成用户或系统的伪随机事件流。
monkeyrunner工具则是在工作站上通过API定义的特定命令和事件控制设备或模拟器。可以进行精细的如点,拖拽等具体的操作,相对来说具有更强的可操作性。而monkey只能是生成随机的事件流,当然事件流里面各个事件的百分比其实是可以调整的,所以称之为为伪随机。
Monkeyrunner能做什么
通过monkeyrunner,您可以写出一个Python程序去安装一个Android应用程序或测试包,运行它,向手机发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上。monkeyrunner工具的主要设计目的是用于测试功能/框架水平上的应用程序和设备,或用于运行单元测试套件,但您当然也可以将其用于其它目的。
环境配置
同样的,要使用monkeyrunner也要能配置环境,同时安装一些必须的软件
软件链接:
JDK:http://www.androiddevtools.cn/
ADT Bundle:http://www.androiddevtools.cn/
注意选择自己的系统是32还是64位的
解压ADT得到的三个文件如图,JDK是安装JDK出现的文件夹
打开SDK,添加标注的两个路径到环境变量path,方法同上面那个一样的
至于JDK直接下载安装就好,安装目录记清楚,添加安装目录下的bin文件路径到path
至于python大家可以自由选择安装与否
下载路径:https://www.python.org/downloads/windows/
安装以后可以在path中添加C:\Python34\Tools\Script
具体安装的路径不同,添加路径有所不同,都是安装目录中的Tools\Scripts
配置好环境以后,在cmd环境下输入monkeyrunner
出现如图提示,即为环境配置成功,可正式使用monkeyrunner工作了
命令:monkeyrunner
接下来,首要一件事就是导入monkeyrunner所要使用的模块。直接在shell命令下输入:
from com.android.monkeyrunner import MonkeyRunner
from com.android.monkeyrunner import MonkeyDevice
from com.android.monkeyrunner import MonkeyImage
OK,这步完成我们就可以利用monkeyrunner进行测试工作了。
运行实例
首先导入模块,然后连接设备
device=MonkeyRunner.waitForConnection() #连接手机设备
device.touch(300,300,'DOWN_AND_UP')点按屏幕的某个位置,坐标是可以根据需要调整
将手机随便打开一个软件,继续输入
device.press('KEYCODE_HOME','DOWN_AND_UP')点击home键
观察手机是否会回到主屏幕
大概的流程就是这样,在这种情况下,能对手机进行操作,模拟手机的操作。例如模拟发短信。自己手动操作的时候需要7个步骤:
1点开短信2.新建短信3.点击号码输入框4.输入号码
6.点击信息内容输入框6输入内容7点击发送
点击命令是touch,输入命令是type,然后配上相应的坐标和输入的内容,就能通过命令控制手机完成发短信这一操作。
更多命令操作可以查看附件或者百度,灵活使用各种命令来达到自己想要的结果才是精髓。
公司测试一般会给一个以python写成的文件,可以拖入运行。简单的来说我们用的时候只需要修改其中的几个参数就好了
更多命令参考附件
Monkey (压力测试)-移动端手机压力测试工具 monkey以及monkeyrunner的更多相关文章
- Android 压力测试工具Monkey
原文地址http://www.syhm52.com/tools/17.html 一.Monkey定义探索软件测试工具有哪些,本文主要介绍Monkey工具.Monkey测试是Android平台自动化测试 ...
- Android压力测试快速入门教程(图解)——Monkey工具
文章目录: 一.Monkey简介 二.Monkey的基本用法 三.Monkey测试示例图解 四.Monkey命令参数介绍 五.Monkey log分析 一.Monkey简介 Monkey:Androi ...
- (原创)如何对APP服务端进行压力测试
版权声明:本文为原创文章,转载请先联系并标明出处 APP性能测试分为客户端性能测试和服务端性能测试,客户端的性能测试主要是针对启动快慢.耗电量.耗流量.内存使用等指标进行评估,目前主流的APP客户端性 ...
- Android压力测试工具——Monkey
Android压力测试工具——Monkey Monkey是运行在模拟器上和真机设备上的一段程序,它会产生用户事件的一系列伪随机流,比如点击.触摸.手势,还有很多系统级别的事件.Monkey通常是用来做 ...
- android app 压力测试工具-monkey tool
一.什么是Monkey? Monkey测试是Android自动化测试的一种手段,Monkey测试本身非常简单,就是模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常. Monkey是A ...
- 如何正确的做WEB端的压力测试
1.对要测试的系统进行分析,明确需要对哪一块做压力测试.比如:淘宝网站双十一期间,秒杀跟支付,此模式用户操作中占比比较大 再比如:游戏,登录--开始战斗--结束战斗这种混合模式在用户操作中占比较大 那 ...
- 【转载】Android端手机测试体系
1.冒烟测试 跟web端 的测试流程一样,你拿到一个你们开发做出来的apk首先得去冒烟,也就是保证他的稳定性,指定时间内不会崩溃.这款原生sdk自带的monkey可以当做 我们的测试工具.就跟我之前博 ...
- Android端手机测试体系
1.冒烟测试 跟web端的测试流程一样,你拿到一个你们开发做出来的apk首先得去冒烟,也就是保证他的稳定性,指定时间内不会崩溃.这款原生sdk自带的monkey可以当做我们的测试工具.就跟我之前博客所 ...
- 06- 移动端APP兼容性测试以及APP兼容性测试手机选择与云测试技术
在开始测试APP之前,应该考虑什么问题?或者如何选择设备?多少部手机测试兼容性最佳? 兼容性测试手机数量:主测手机 1 ,2(根据人员),辅助测试手机:用于兼容性测试.(50-60台最佳,至少5-20 ...
随机推荐
- Windows 一键关闭UAC、防火墙、IE配置脚本
有时候,在环境需求下,需要关闭windows防火墙,UAC,以及IE选项配置. 对不懂电脑来说是比较麻烦的,老是得教他们,关键还记不住…… so,以下脚本就可以解决这个问题 注:脚本 需要右键 以管理 ...
- 【Henu ACM Round#15 B】A and B and Compilation Errors
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 开3个map, 存在map里面: 然后迭代第一个和第二个map; 分别与第二个和第三个map比较就可以了 [代码] #include ...
- BZOJ——T 1113: [Poi2008]海报PLA
http://www.lydsy.com/JudgeOnline/problem.php?id=1113 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: ...
- BZOJ 2708 [Violet 1]木偶 DP
题意:id=2708">链接 方法: DP 解析: 这题太神辣. 做梦都没想到DP啊,反正我不会. 先谈一个我有过的错的想法. 最小费用最大流? 能匹配的边连费用为1的,不能匹配的连费 ...
- 【HDU 4763】Theme Section(KMP)
这题数据水的一B.直接暴力都能够过. 比赛的时候暴力过的.回头依照正法做了一发. 匹配的时候 失配函数 事实上就是前缀 后缀的匹配长度,之后就是乱搞了. KMP的题可能不会非常直接的出,可是KMP的思 ...
- TextWatcher-监听输入框内容变化
今天在做邮件登录的时候,遇到了输入框(Edittext)监听事件(TextWatcher),现在记录下. 首先看如下代码 eText.addTextChangedListener(new TextWa ...
- 用SSL保Samba安全
用SSL保Samba安全 在企业中用Samba做为文件服务器是非常容易的事了,那如何保证存储数据的安全,如何保证数据传输的安全呢?我以前介绍过通过Samba安全级别和加装防病毒软件在 ...
- Oracle 启动失败报错“TNS-12555: TNS:permission denied”解决办法
[oracle@testdb admin]$ lsnrctl start LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 10-FEB- ...
- LuoguP2763 试题库问题(最大流)
建图同_____ 代码: #include<queue> #include<cstdio> #include<cstring> #include<algori ...
- LuoguP2764 最小路径覆盖问题(最大流)
题目描述 «问题描述: 给定有向图G=(V,E).设P 是G 的一个简单路(顶点不相交)的集合.如果V 中每个顶点恰好在P 的一条路上,则称P是G 的一个路径覆盖.P 中路径可以从V 的任何一个顶点开 ...