一、App Monkey进行压力测试:

1、monkey事件选项

-s:指定产生随机事件种子值,相同的种子值产生相同的事件序列。如: -s 200
--throttle:每个事件结束后的间隔时间——降低系统的压力(如不指定,系统会尽快的发送事件序列)。如:--throttle 100
--pct-touch:指定触摸事件的百分比,如:--pct-touch 5% , 相关的还有以下option:
--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>(任意事件)

2、调试选项

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

3、完整的monkey语句

adb shell monkey -p your.package.name --pct-touch 30 --ignore-crashes  --ignore-timeouts--throttle 250 -s 2  -v -v -v 5000000
触摸事件占30%,忽略crash和超时,每个事件间隔250ms,输出最详细日志,执行500万次

4、如何跑多个apk的monkey?

黑名单:执行除了黑名单中以外的apk;白名单:只执行在白名单中的apk。
(1)、黑名单的设置方法:
a.创建一个名称为blacklist的txt文档,在文件中输入应用程序的包名,如mms应用,则在文件中输入com.android.mms;如果有多个应用程序不想被执行,则在文件中添加多个包名,注意包名与包名之间均用回车键。
b.将blacklist.txt的文件导入到手机的/data目录下,然后在执行monkey测试的时候使用--pkg-blacklist-file参数再加上blacklist文件的存储路径,其他的参数设置则和测试单一apk没有区别。

monkey –pkg-blacklist-file /data/blacklist.txt -c <options> -s <seed> <限制语句> --throttle <milliseconds> -v 执行次数> C:\blacklist_test.txt //执行黑名单以外的应用
(2)、白名单的设置方法:
白名单的设置方法和黑名单的设置方法基本一致,只是在创建txt文档的时候,文件的命令应为whitelist。在执行monkey的时候,只执行白名单中的应用。
monkey –pkg-whitelist-file /data/whitelist.txt -c <options> -s <seed> <限制语句> --throttle <milliseconds> -v 执行次数 > C:\whitelist_test.txt //执行白名单的应用

5、如何分析monkey日志?
1)、 ANR问题:在日志中搜索“ANR”
2)、 崩溃问题:在日志中搜索“CRASH”,常见的crash

3)、 异常问题:在日志中搜索”Exception”和“error”

6、如何重现BUG?

为了进一步分析问题的来源,可以找到Log中出现问题处的前一次Switch,随后根据Log主要是查看相关的Activity
1)、 找到是monkey里面的哪个地方出错

2)、 查看Monkey里面出错前的一些事件动作,并手动执行该动作

3)、 若以上步骤还不能找出,可以使用之前执行的monkey命令再执行一遍,注意seed值要一样

7、monkey缺点:

1)不支持条件判断

2)不支持读取待测界面的信息来执行验证操作

3)不提供截屏功能,因此测试很难找到问题复现的场景

4)无法进行控件识别,对事件流控制能力很微弱

5)执行过程中容易误点工具栏导致Wi-Fi关闭,影响测试效果

6)无法自动解锁

8、MonkeyScript使用

(一)、介绍

1)通过坐标来实现

2)可以针对某一个操作进行重复压力测试

3)会以.script 或者 .mks  .txt来作为后缀,标识它是一个Monkey脚本。

(二)、使用

(1)、 Monkey 头

type= raw events count=10 speed=1.0 start data>>

type指明类型

count说明执行次数,但是这里改成任何值都执行一次,monkey命令可以指定执行次数,这里也就无所谓了

speed命令执行速率。改动无影响,可以通过monkey命令行指定。

start data >>相当于一个入口,说明脚本从下面开始执行

(2)、常用函数:

LaunchActivity(com.asn.nuonuo,com.asn.nuonuo.home.activity.SplashActivity2)

UserWait(100)

DispatchPointer(10000,10000,0,1000,1800,0,0,0,0,0,0,0)

UserWait(100)

DispatchPointer(10000,10000,1,1000,1800,0,0,0,0,0,0,0)

UserWait(100)

DispatchPointer(10000,10000,0,200,1800,0,0,0,0,0,0,0)

UserWait(100)

DispatchPointer(10000,10000,1,200,1800,0,0,0,0,0,0,0)

(3)、执行
编写好脚本,保存为 monkey.mks 文件,并通过 adb push 将其上传到待测试的设备中。

adb push monkey.mks /data/local/tmp/

然后通过monkey -f执行此脚本,例如下面执行 10 次。

adb shell monkey -f /data/local/tmp/monkey.mks 10

在执行的过程中,就可以看到 MS 会自动启动我们待测试的 App ,然后按照我们的编写的测试脚本,进行重复执行 10 次。

使用mokey进行压力测试相关推荐

  1. 自动化压力测试:Mokey测试参数:

    在APP提交到应用市场审核时常常有自动化测试,也可以自己设置参数自我检查. Monkey测试随机性比较高,故仅作为参考,具体测试工作交由测试人员 简单案例: adb shell monkey -v 5 ...

  2. android 获取monkey日志_Android压力测试:monkey压力测试实战

    主要分享的主题是 Android App 专项测试, 通过 monkey 进行压力测试. 一.测试步骤 1.安装ADB 2.连接被测手机和电脑 3.打开CMD命令行 4.输入monkey命令 adb ...

  3. monkey命令——压力测试——转载参考03

    转载:https://blog.csdn.net/u011649536/article/details/45043781?utm_source=blogxgwz9 简要步骤:adb devices-- ...

  4. 网站压力测试工具webbench

    webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便. 1.适用系统:Linux 2.编译安装: 引用 wget htt ...

  5. 二、多并发实现接口压力测试

    一.flsak接口压力测试 import base64 import logging import os, cv2,time import urllib, glob import numpy as n ...

  6. 微软压力测试工具 web application stress

    WEB服务器的压力测试工具~ 115808 2009年8月1日 lbimba 铜牌会员 这里给广大的煤油推荐一个web网站压力测试工具.它可以用来模拟多个用户操作网站,在程序投入运行时,可以用它来进行 ...

  7. python的web压力测试工具-pylot安装使用

    pylot是python编写的一款web压力测试工具.使用比较简单.而且测试结果相对稳定. 这里不得不鄙视一下apache 的ab测试,那结果真是让人蛋疼,同样的url,测试结果飘忽不定,看得人心惊肉 ...

  8. 压力测试 闪存_产品评测 | HPE Nimble AF全闪存系列,诠释真正的高端存储

    随着AI.互联网.大数据等技术快速发展,企业对存储设备的需求已踏上一个更高的级别,高性能.低延时.大容量等多种需求的应用场景愈发常见,在这种情况下,寻求能够满足相应工作负载能力的存储设备已成为企业IT ...

  9. ubuntu mysql 改密码_tpcc-mysql 压力测试

    若是想知道数据库或集群在业务环境中的性能,就需要压测. TPC-C TPC-C 是TPC组织发布的一个测试规范,用来模拟测试复杂的在线事务处理系统(OLTP). 它的测试结果包括每分钟事务数(tpmC ...

最新文章

  1. LwIP Application Developers Manual12---Configuring lwIP
  2. 宏基因组实战4. 基因注释Prokka
  3. 55篇世界上著名博客的经验之谈
  4. 卸载pytorch_Pytorch中的hook的使用详解
  5. 通过Dapr实现一个简单的基于.net的微服务电商系统(二)——通讯框架讲解
  6. 1024程序员节来啦!!.NET技术圈独家优惠劵,折后再折,赶紧来抢啊
  7. html插入图片和文字,HTML第三课文字图片插入
  8. 计算机表格怎么求面积,在wps表格中怎么把数据生成面积图?
  9. matlab算hht,关于MATLAB中HHT谱图的问题【百度知道悬赏100积分】
  10. 约翰诺曼超级计算机研究中心,第433章 拉泽尔松教授的决定_学霸的黑科技系统_晨星LL作品_du00...
  11. Kafka监控:Kafka-Manager
  12. 向 Android 4.0 彻底说再见!
  13. 百度研究院在硅谷新设两大实验室,三名AI科学家加盟
  14. CRC冗余校验码的介绍和实现
  15. uniapp的选择收货地址
  16. matlab插值拟合
  17. SQL中使用UNION ALL一定比OR效率高吗?
  18. LSTM预测未来一天股票收盘价
  19. Memory Leak
  20. 2014年7月份第3周51Aspx源码发布详情

热门文章

  1. NetSuite合并采购开票
  2. 求计算机文化节主题,计算机文化节策划书.doc
  3. buildroot 遇到的CWD 问题
  4. 关于Java+Vue3快速开发框架esdk-nzb-cas的介绍
  5. str.trim() 解决字符串全角空格的问题
  6. CSS选择器-优先级-性能
  7. Flask学习之旅——1.2项目配置
  8. 2018/09/27渡课
  9. mysql mac 图形化界面_mac安装mysql图形化工具?
  10. 世上没有该结婚的年龄,只有该结婚的爱情。其实这个观点我很认同,世上不仅没有该结婚的年龄,也没有注定该一辈子单身的人。只有该结婚的爱情,和该主动的爱情