zoukankan      html  css  js  c++  java
  • android应用程序monkey压力测试(模拟器或真机)

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

    前置条件:

    1.jdk环境配置

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

    3.网站上下载ADT:

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

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

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

    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_logjava_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测试结果分析)

  • 相关阅读:
    Qt 跟踪鼠标事件:setMouseTracking(true)
    Qt setMouseTracking使用
    Qt QGraphicsItem 鼠标点击事件编程方法
    Qt QGraphicsItem信号连接有关问题
    Qt 自定义QGraphicsItem
    Qt 视图框架QGraphicsItem
    Qt QGraphicsItem要点 积累
    Qt Q_UNUSED() 方法的使用
    Qt 绘图之QGraphicsScene QGraphicsView QGraphicsItem详解
    Qt 使用QGraphicsItem绘制复杂的图形
  • 原文地址:https://www.cnblogs.com/lsjdddddd/p/5774329.html
Copyright © 2011-2022 走看看