android应用程序monkey压力测试(模拟器或真机)

 

首先需要安装一个模拟器: 

前置条件:

1.jdk环境配置

2.eclipse下载安装(直接解压即可)

3.网站上下载ADT:

由于国内禁止google的浏览,所以需要自己上网找资源,下面这个网站有比较全版本的ADT资源:

csdn博客链接:http://blog.csdn.net/cayre/article/details/29624477

提供了三种方式下载ADT,百度云,360网盘,官网下载(网盘的,都是原博主FQ在官网下载直接放上去的,可以放心使用)

4.SDK下载地址:https://dl.google.com/android/android-sdk_r24.0.2-windows.zip

(PS:Android SDK开发包国内下载地址

http://www.cnblogs.com/bjzhanghao/archive/2012/11/14/android-platform-sdk-download-mirror.html

 

 

操作步骤:

1.启动eclipse.exe

2.打开【help】->【install new software】

3.点击ADD

  Name为ADT

  Archive选择ADT的zip格式压缩包

 

4.ok后,一路next(需要耐心等待一段时间)

5.重启eclipse

6.设置SDK路径:选择【windows】->【perferences】->【android】,在SDK location中选择下载的sdk的地址

7.打开【windows】->【android SDK Manger】

PS:如过在【windows】中找不到,点击【Windows】—>【Customize Perspective】,将选项卡切换至【Command Groups Availability】—>【选中Android SDK and AVD Manager】—>点击OK

8.打开android SDK manger之后,如果packages选项非常少,参考下面步骤:

  1.打开【tools】 -> 【options】

  2.将Proxy Settings 里的HTTP Proxy Server和HTTP Proxy Port分别设置成mirrors.neusoft.edu.cn和80

    将Others中的Force https://...sources to be fetched using http://...复选框勾上

  3.重启eclipse

  4.选择要下载的包进行安装,安装后再重启一次eclipse

9.打开【windows】->【Android Virtual Device Manager】,create一个新的模拟器,在弹出窗口中配置模拟器,ok后,start

(创建AVD 时如果出现了no system images installed for this target,打开SDK manager,安装上ARM EABI v7a System Image,重启AVD,就可以解决问题)

 

10.模拟器的打开非常慢,一开始界面是闪动的android字样,过好长一段时间后,模拟器就打开了,但是整个运行的过程也是非常慢!

 

 

在模拟器上安装需要测试的apk包:

  1.将apk包放在platform-tools的文件夹下  

  2.启动模拟器之后,打开电脑的cmd命令。

  3.将路径导向platform-tools文件夹后,输入命令adb install test.apk(不要同时连接两台设备,包括模拟器)

  4.看到success,并且在模拟器的界面上可以看到安装的软件就是成功了。(这个过程也是比较慢的)

 

模拟器上也可以看到

 PS:如果测试过程中发现模拟器无法上网,可以在eclipse下设置:

8.8.8.8为可上网的本机的DNS地址,可在cmd中通过语句ipconfig /all来查看。

 有的时候没有上网也是因为一些说不清楚的原因,比方说开一下飞行模式再关掉就好了……

  5.如果要卸载应用,直接在模拟器上操作会比较慢,用cmd命令中:adb uninstall com.hengtiansoft.test,success后就可以将应用删除了。

 

 

真机测试:

 

前置条件:

1.jdk环境配置

2.SDK下载地址:https://dl.google.com/android/android-sdk_r24.0.2-windows.zip

(PS:Android SDK开发包国内下载地址

http://www.cnblogs.com/bjzhanghao/archive/2012/11/14/android-platform-sdk-download-mirror.html

3.根据上文中SDK manager 设置,更新SDK 配置(主要更新platform-tools中的adb)

 

以下内容非常重要且经常导致人绕无谓的弯路!

连接真机时一定要把360手机助手关掉,以及手机上不要设置为仅充电,打开USB调试!!

4.设置好以上内容之后,真机和模拟器的操作就类似了 

 

 

以上,模拟器或者真机都已经准备完成,然后学习使用monkey工具:

使用monkey工具

  1.在cmd中进入platform-tools的文件夹,输入命令 adb shell monkey 查看一下monkey的一些固定命令

  2.adb devices查看设备连接情况,如果只有一个模拟器,会显示下图

 

adb shell ls data/data //可以查看全部可用的安装包名称(真机需要root)

adb shell pm list packages -3  //获取我们自己安装应用的包名

  3.以com.hengtiansoft.test作为对象进行MonkeyTest

    adb shell monkey -p com.hengtiansoft.test -v 500

    其中-p表示对象包 –v 表示事件数量

  4.在语句后增加 adb shell monkey -p com.hengtiansoft.zhaike -v 500>testlog.txt,就可以将测试的log文件导出到platform-tools中的一个logtest.txt的文件中。

  

monkey基本命令

 

 1:常用选项

-help:打印帮助信息 -v:指定打印信息的详细级别,一个 -v增加一个级别 , 默认级别为 0 。

日志级别 Level0 

示例 adb shellmonkey -p com.hengtiansoft.zhaike –v 100

说明 缺省值,仅提供启动提示、测试完成和最终结果等少量信息

 

日志级别 Level 1

示例 adb shellmonkey -p com.hengtiansoft.zhaike –v -v 100

说明  提供较为详细的日志,包括每个发送到Activity的事件信息

 

日志级别 Level 2

示例 adb shellmonkey -p com.hengtiansoft.zhaike –v -v –v 100

说明  最详细的日志,包括了测试中选中/未选中的Activity信息

 

2:事件选项

-s:指定产生随机事件种子值,相同的种子值产生相同的事件序列。-s 200
--throttle:每个事件结束后的间隔时间(单位:毫秒)  ——降低系统的压力(如不指定,系统会尽快的发送事件序列)。--throttle 100
--pct-touch <指定触摸事件的百分比>,如:--pct-touch 5% 。
--pct-motion <percent> (滑动事件)、 --pct-trackball <percent> (轨迹球事件) 、 --pct-nav <percent> (导航事件 up/down/left/right)、 --pct-majornav <percent> (主要导航事件 back key 、 menu key)、 --pct-syskeys <percent> (系统按键事件 Home 、Back 、startCall 、 endCall 、 volumeControl)、 --pct-appswitch <percent> (activity之间的切换)、 --pct-anyevent <percent>(任意事件)
 

3:约束选项

-p:指定有效的package(如不指定,则对系统中所有package有效),一个-p 对应一个有效package, 如:-p com.ckt -p com.ckt.asura; -c:activity必须至少包含一个指定的category,才能被启动,否则启动不了;
 

4:调试选项

--dbg-no-events:初始化启动的activity,但是不产生任何事件。 --hprof:指定该项后在事件序列发送前后会立即生成分析报告( 一般建议指定该项)。 --ignore-crashes:忽略崩溃 --ignore-timeouts:忽略超时 --ignore-security-exceptions:忽略安全异常 --kill-process-after-error:发生错误后直接杀掉进程 --monitor-native-crashes:跟踪本地方法的崩溃问题 --wait-dbg:直到连接了调试器才执行monkey测试。

 

eg:  adb shell monkey -p com.xy.android.junit -s 500 --throttle 100 --pct-touch 5 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v 10000 > E:\monkey_log\java_monkey_log.txt

 

参考文章:

http://blog.csdn.net/exlsunshine/article/details/22208857  (安装SDK 的镜像文件)

http://jingyan.baidu.com/article/7e440953d3446d2fc0e2efd5.html (ADT的下载和配置

http://blog.csdn.net/xifeijian/article/details/8580309 (有关monkey测试工具的介绍)

http://www.cnblogs.com/lynn-li/p/5989034.html(monkey常用命令)

http://www.360doc.com/content/14/0814/19/1438920_401863695.shtml(monkey测试结果分析)

 

posted @ 2016-08-15 20:59  逍遥豆  阅读(3611)  评论(0编辑  收藏  举报