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

  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首先说一下monkeymonkeyrunner的区别

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写成的文件,可以拖入运行。简单的来说我们用的时候只需要修改其中的几个参数就好了

更多命令参考附件

 

转载于:https://www.cnblogs.com/guaimao123/p/7746986.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值