Monkey使用

、简介:

      Monkey测试是Android平台下自动化测试的一种快速有效的手段,可以模拟用户触摸屏幕、滑动轨迹球、按键等操作来对模拟器或者手机设备上的软件进行压力测试,检测该软件的稳定性、健壮性。它的原理是向系统发送伪随机的用户事件流(如按键输入、触摸输入、手势输入等),实现对正在开发的应用程序进行压力测试。

二、Monkey的特性

    1)测试的对象仅为应用程序包(apk包),有一定的局限性;

    2Monkey测试使用的事件流数据流是随机的,不能进行自定义;

    (3)可对MonkeyTest的对象、事件数量、类型、频率等进行设置。

三、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测试了。 

四、环境配置

1. 安装SDK for Windows 

2. 设置sdk下面tools的环境变量

点击Path,将“D:\android-sdk-windows\platform-tools”添加到变量值中,与之前的变量值用“;”隔开。

3.手机与91相连,并root权限

4.使用adb devices

说明:(1)adb devices 找不到设备怎么办?

http://jingyan.baidu.com/article/ce09321b5b76642bff858f31.html

五、adb命令

1.包名获得,  测试命令:adb shell pm list package

或者

2.使用Monkey发一条测试命令。

adb -s 4d00e281b248b0cb shell monkey -v -p meiyapico.falcon 500  > 1.txt

-s 设备 -v 日志级别 -p 包名 日志输出到1.txt文件中

3.观察android设备,直到Monkey停止。六、结果日志显示


Events injected: 500//注入事件500

1)Sending rotation degree=0, persist=false //发送屏幕翻转 =0,存留=

2)Dropped: keys=11 pointers=38 trackballs=0 flips=0 rotations=0 //丢弃:键=11,指针=38,轨迹球=0,键盘轻弹=0,屏幕翻转=0

3)Network stats: elapsed time=19957ms (0ms mobile, 19957ms wifi, 0ms not connected) //网络状态:占用时间=19957ms(手机0mswifi19957ms,未连接0ms

4)Monkey finished //Monkey测试完成

 

一般的测试结果分析:
1、 ANR问题:在日志中搜索“ANR”
2、 崩溃问题:在日志中搜索“Exception

Monkey测试结果为pass的,LOG信息最后一行会有Monkey finished的字样。

 Monkey测试结果为fail的,有以下两种情况:  

A. LOG的最后会有以下提示字样,表示此次monkey测试fail,提供所有log给开发。 

如:** Monkey aborted due to error. Events injected: 37511 

:Sending rotation degree=0, persist=false 

:Dropped: keys=0 pointers=24 trackballs=0 flips=0 rotations=0 

## Network stats: elapsed time=4508008ms (0ms mobile, 0ms wifi, 4508008ms not connected) 

** System appears to have crashed at event 37511 of 300000 using seed 1358091994830 

  B.LOG中无A情况中的错误信息提示,也无Monkey finished字样,但monkey 测试已中断,该问题仍定位为monkey测试fail,需要给开发提供所有的LOG,开发查找calendar_time关键字去定位问题。



备注:

管理设备

注:android手机、模拟器统一称为“设备”

adb devices // 显示连接到计算机的设备

adb get-serialno // 获取设备的ID和序列号serialNumber

------------------重启----------------------------------------------

adb reboot // 重启设备

adb reboot bootloader  // 重启到bootloader,即刷机模式

adb reboot recovery  // 重启到recovery,即恢复模式

------------------发送命令到设备--------------------------------------

adb [-d|-e|-s <serialNumber>]<command>

-d 发送命令给usb连接的设备

-e 发送命令到模拟器设备

-s <serialNumber> 发送命令到指定设备

adb kill-server

adb start-server

adb remount


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值