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.运行实例:

  1. 链接手机,输入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的更多相关文章

  1. Android 压力测试工具Monkey

    原文地址http://www.syhm52.com/tools/17.html 一.Monkey定义探索软件测试工具有哪些,本文主要介绍Monkey工具.Monkey测试是Android平台自动化测试 ...

  2. Android压力测试快速入门教程(图解)——Monkey工具

    文章目录: 一.Monkey简介 二.Monkey的基本用法 三.Monkey测试示例图解 四.Monkey命令参数介绍 五.Monkey log分析 一.Monkey简介 Monkey:Androi ...

  3. (原创)如何对APP服务端进行压力测试

    版权声明:本文为原创文章,转载请先联系并标明出处 APP性能测试分为客户端性能测试和服务端性能测试,客户端的性能测试主要是针对启动快慢.耗电量.耗流量.内存使用等指标进行评估,目前主流的APP客户端性 ...

  4. Android压力测试工具——Monkey

    Android压力测试工具——Monkey Monkey是运行在模拟器上和真机设备上的一段程序,它会产生用户事件的一系列伪随机流,比如点击.触摸.手势,还有很多系统级别的事件.Monkey通常是用来做 ...

  5. android app 压力测试工具-monkey tool

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

  6. 如何正确的做WEB端的压力测试

    1.对要测试的系统进行分析,明确需要对哪一块做压力测试.比如:淘宝网站双十一期间,秒杀跟支付,此模式用户操作中占比比较大 再比如:游戏,登录--开始战斗--结束战斗这种混合模式在用户操作中占比较大 那 ...

  7. 【转载】Android端手机测试体系

    1.冒烟测试 跟web端 的测试流程一样,你拿到一个你们开发做出来的apk首先得去冒烟,也就是保证他的稳定性,指定时间内不会崩溃.这款原生sdk自带的monkey可以当做 我们的测试工具.就跟我之前博 ...

  8. Android端手机测试体系

    1.冒烟测试 跟web端的测试流程一样,你拿到一个你们开发做出来的apk首先得去冒烟,也就是保证他的稳定性,指定时间内不会崩溃.这款原生sdk自带的monkey可以当做我们的测试工具.就跟我之前博客所 ...

  9. 06- 移动端APP兼容性测试以及APP兼容性测试手机选择与云测试技术

    在开始测试APP之前,应该考虑什么问题?或者如何选择设备?多少部手机测试兼容性最佳? 兼容性测试手机数量:主测手机 1 ,2(根据人员),辅助测试手机:用于兼容性测试.(50-60台最佳,至少5-20 ...

随机推荐

  1. visual studio 添加库文件

    我在visual studio中使用OpenGL时需要添加额外的库 一 首先下载库文件,里面将会有一些.h文件和.lib文件,打开visual studio安装目录下打开: D:\program\VS ...

  2. Python中import和from的一些事。。。

    摘自python学习手册, 用于记录. 客户端可以执行import或from语句.如果模块还没有加载,这两个语句会去搜索.编译以及执行模块文件程序.主要差别在于,import会读取整个模块,所以必须进 ...

  3. 洛谷 P2690 接苹果

    P2690 接苹果 题目背景 USACO 题目描述 很少有人知道奶牛爱吃苹果.农夫约翰的农场上有两棵苹果树(编号为1和2), 每一棵树上都长满了苹果.奶牛贝茜无法摘下树上的苹果,所以她只能等待苹果 从 ...

  4. ThinkPHP数据分页Page.class.php

    获取分页类 ThinkPHP提供了数据分页的扩展类库Page,能够在http://www.thinkphp.cn/extend/241.html下载,或者下载官方的完整扩展包(http://www.t ...

  5. [Python] Understand Mutable vs. Immutable objects in Python

    In this lesson, you will learn what mutable and immutable objects are, and the difference between th ...

  6. OpenCASCADE 麻花钻头造型实例分析

    OpenCASCADE 麻花钻头造型实例分析 eryar@163.com Abstract. OpenCASCADE provides a simple twist drill bit modelin ...

  7. js---13 this call apply

    //this:this可以写在js全剧环境中(全局环境中this是window对象),this可以写在函数中,可以写在对象中, function f(){ this.name = "asdf ...

  8. UML中的用例图

    用例图构成:參与者(actor).用例(use case).子系统(subsystem) 关联(Association) 泛化(Inheritance) 就是通常理解的继承关系,子用例和父用例类似,但 ...

  9. js22--链式调用

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  10. 图片裁剪的js有哪些(整理)

    图片裁剪的js有哪些(整理) 一.总结 一句话总结:如果用了amaze框架就去amaze框架的插件库里面找图片裁剪插件,如果没用,jcrop和cropper都不错. 1.amazeui的插件库中有很多 ...