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

主要分享的主题是 Android App 专项测试,

通过 monkey 进行压力测试。

一.测试步骤

1.安装ADB

2.连接被测手机和电脑

3.打开CMD命令行

4.输入monkey命令

adb shell monkey -p your.package.name?--pct-touch 30?--ignore-crashes ?--ignore-timeouts--throttle 250?-s 2??-v -v -v 5000000

二.monkey测试命令有哪些选项?

1:常用选项
--help:打印帮助信息-v:指定打印信息的详细级别,一个 -v增加一个级别 , 默认级别为 0 。-v -v -v 为最详细日志。
2:事件选项
-s:指定产生随机事件种子值,相同的种子值产生相同的事件序列。如:-s 200--throttle:每个事件结束后的间隔时间——降低系统的压力(如不指定,系统会尽快的发送事件序列)。如:--throttle 100
--pct-touch:指定触摸事件的百分比,如:--pct-touch 5% , 相关的还有以下option:--pct-motion  (滑动事件)--pct-trackball  (轨迹球事件)--pct-nav  (导航事件 up/down/left/right)--pct-majornav  (主要导航事件 back key 、 menu key)--pct-syskeys  (系统按键事件 Home 、Back 、startCall 、 endCall 、 volumeControl)--pct-appswitch  (activity之间的切换)--pct-anyevent (任意事件)
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测试。

三.一个完整的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万次。

四.如何保存不连着电脑跑monkey?

1.输入命令进入shell环境:adb shell2.输入monkey语句执行:
monkey –p com.android.mms –s 100 --throttle 1000 –v –v –v 15000 > /mnt/sdcard/monkey_test.txt&

五.如何跑多个apk的monkey?

黑名单:执行除了黑名单中以外的apk;白名单:只执行在白名单中的apk。黑名单的设置方法:a.创建一个名称为blacklist的txt文档,在文件中输入应用程序的包名,如mms应用,则在文件中输入com.android.mms;如果有多个应用程序不想被执行,则在文件中添加多个包名,注意包名与包名之间均用回车键。b.将blacklist.txt的文件导入到手机的/data目录下,然后在执行monkey测试的时候使用--pkg-blacklist-file参数再加上blacklist文件的存储路径,其他的参数设置则和测试单一apk没有区别。白名单的设置方法:白名单的设置方法和黑名单的设置方法基本一致,只是在创建txt文档的时候,文件的命令应为whitelist。在执行monkey的时候,只执行白名单中的应用。例子:
monkey –pkg-blacklist-file /data/blacklist.txt -c  -s   --throttle  -v 执行次数> C:\blacklist_test.txt //执行黑名单以外的
应用
monkey –pkg-whitelist-file /data/whitelist.txt -c  -s   --throttle  -v 执行次数 > C:\whitelist_test.txt //执行白名单的应用
五.如何关闭mokey?

六.如何关闭mokey?

1. ps命令查找uiautomator的进程
cmd命令行窗口输入:(linux)adb shell ps | grep monkey?(windows)adb shell ps | findstr monkey
返回来的第一个数字,即是monkey的进程号2.kill 命令结束进程继续输入:?adb shell kill [刚才查到的进程号]

七.如何分析monkey日志?

1、 ANR问题:在日志中搜索“ANR”2、 崩溃问题:在日志中搜索“CRASH”

八.如何重现BUG?

1、找到是monkey里面的哪个地方出错2、?查看Monkey里面出错前的一些事件动作,并手动执行该动作3、若以上步骤还不能找出,可以使用之前执行的monkey命令再执行一遍,注意seed值要一样

九.monke的测试策略?

单个apk的验收测试时,使用单一apk且不忽略异常的命令执行单个apk的解决问题的测试时,使用单一apk且忽略异常的命令执行。这样可以在一次执行的过程中发现应用程序中的多个问题。单个apk的应用程序的压力/健壮性测试时,主要缩短monkey测试中事件与事件之间的延迟时间,验证在快速的事件响应的过程中,程序是否能正常运行。将--throttle的值设定为500或者更小,一般都使用500毫秒的延迟事件。在进行apk的集合测试(测试对象为多个APP,手机测试?)时,对于高频率使用的apk、长时间使用的apk都要包含在执行的应用程序中间。

APK分类具体:

高频率使用的apk如:Phone、Contacts、Message、Settings、File Manager、Gallery、Input Method长时间使用的apk如:Phone、Browser、Music player、Camera、Video player、Email、Chat其他的apk如:Calendar、Notepad、Calculator、FM Radio、Google?Search

08ac2953a177fb87ed11d60bcb531068.png

﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍

点击以下关键词有资源

测试基础 | 专项测试 | 自动化 | 分享公众号 | 资源共享站 | Selenium | Appium | JMeter接口自动化 | Git | 

哈佛演讲 |python | loadrunner | 测试面试题 |

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/527357.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java工程怎么构造成moven_将普通java工程结构改为由maven管理的工程结构域

第一次尝试些博客记录一下自己的学习心得!1. http://maven.apache.org/download.cgi 这是maven 的下载链接进入链接下载一个maven 包这是我的windows10 系统下载的版本2 . 将下载好的文件解压后放入任意位置(一般建议放到自己常用的文件夹下边)并记住该路径G:\xiangmuwar …

python 函数进度条怎么_刷新你对进度条的认识,用python写出不一样的进度条

1 简介在日常工作中,我们运行程序经常会用到「循环迭代」,假如这个执行时间很短,那倒也无所谓。但是有一些过程耗时蛮长的,给其加上「进度条」(progress bar),可以帮我们监控代码执行进度,以及过程出现异常…

acer软件保护卡清除工具clear_使用Windows 10内置工具释放硬盘空间的最佳方法

如果您的磁盘空间不足,可以使用 Windows 10 中内置的工具来清理垃圾文件、应用程序和游戏等,以优化硬盘空间。使用这些清理工具不仅能够释放空间,而且还有助于提高系统性能。下面小编就为大家汇总介绍 几种种最佳快捷方法,来释放 …

python中astr是啥_python的基本操作

该来的还是来了,早先某个大胖子建议我写关于python基本操作的博客,当时没上心,现在来补点账,也姑且算是对往昔一点回忆吧。对了,那胖子,姓王,所幸不住我隔壁。闲言少叙,python和pych…

canal mysql从库_大厂如何基于binlog解决多机房同步mysql数据(一)?

目录前言单一IDC多IDCmysql主从同步数据同步方案多机房mysql同步方案优化同步方案同步方案的问题如何解决重复插入对于DDL语句处理如何解决唯一索引冲突如何解决数据回环问题总结前言小伙伴们是否经常听说多机房部署,异地容灾?什么两地3中心,…

java语言怎么建立窗口awt,java.awt.Frame类:创建窗口

创建窗口是 AWT 编程的第一步,窗口是所有组件和面板的容器。在 Java AWT 中,我们使用 Frame 类来创建窗口。Frame 中文字意是“框架”,它的主要功能是建立窗口。AWT 建立窗口的步骤如下:设计 Frame 类对象,建立空白窗口…

sql数据导入错误代码: 0x80004005_SQL入门第八关 项目实战

不知不觉,学SQL已经一个多月了,每天下班学一个小时,有空做做练习题。从之前的焦虑到现在已经有了一定的自信了,猴子的课程真的很适合小白入门,尤其是SQL学习群里,助教老师很尽责,每个问题都会解…

虚拟主机选择php版本,虚拟主机的php版本如何选择

虚拟主机如何选择php版本?虚拟主机选择PHP版本,这是根据网站程序设置的。例如,新版本的WordPress需要PHP5.6和更高版本,而旧版本,如WordPress4,可以使用PHP5.2、5.3和其他更低版本。虚拟主机的PHP版本是什么…

有十五个数按由大到小顺序存放在一个数组中_数据结构基础 (代码效率优化, 线性表, 栈, 队列, 数组,字符串,树和二叉树,哈希表)...

作者:张人大代码效率优化复杂度 -- 一个关于输入数据量n的函数时间复杂度 -- 昂贵与代码的结构设计有着紧密关系一个顺序结构的代码,时间复杂度是O(1), 即任务与算例个数 n 无关空间复杂度 -- 廉价与数据结构设计有关数据结构 -- 考虑如何去组织计算机中…

图片马赛克去除工具_图片太多该如何进行排版呢?

胖友们大家好呀,我是三儿昨天三儿刚讲了多文字如何排版就有胖友在后台留言说问三儿如何对图片较多的内容排版那么今天三儿就来教大家图片较多时我们该怎样排版!赶紧拿着小本本做好笔记哦!图片的重要性图片在排版设计中,占有很大的…

神经网络人口预测matlab,BP神经网络预测(人口)程序(matlab)

自己测试人口预测的matlab实现:x[5416755196563005748258796602666146562828646536599467207662076585967295691727049972538745427636878534806718299285229871778921190859924209371794974962599754298705100072101654103008104357105851107507109300111026112704…

php如何监听页面滚动,html5中在元素滚动条在滚动时触发的事件onscroll

实例元素滚动时执行 JavaScript定义和用法onscroll 事件在元素滚动条在滚动时触发。提示: 使用 CSS overflow 样式属性来创建元素的滚动条。浏览器支持语法HTML 中:JavaScript 中:object.οnscrοllfunction(){myScript};JavaScript 中, 使用 addEventListener() 方…

可观测性PHP秩判据,线性系统的可控性与可观测性

现代控制理论中用状态方程和输出方程描述系统,输入和输出构成系统的外部变量,而状态为系统的内部变量,这就存在着系统内的所有状态是否可受输入影响和是否可由输出反映的问题,这就是可控性和可观测性问题。如果系统所有状态变量的…

matlab中的nlinfit,matlab中nlinfit问题!!!!!!!!!!!!

matlab中nlinfit问题!!!!!!!!!!!!mip版 关注:272 答案:3 悬赏:40解决时间 2021-01-19 04:20已解决2021-01-18 13:28muinline(beta(…

电机控制系统php,电机控制系统的未来发展变化趋势

在智能化生产系统的发展过程之中,网络化分布式生产设备的实现意味着我国机器设备之间可以达到信息沟通的能力,而在这种沟通之中良好的控制系统则承担了枢纽的职责。在这种地机控制系统的发展之中迎合了我国智能联网时代的发展需求,将人机交互…

微信wechat.class.php,laravel使用组件实现微信网页授权登入

laravel框架中的实现简单实现微信网页授权登入首先引入基于laravel的easywechat的组件,laravel版本5.8$ cd laravel$ composer require "overtrue/laravel-wechat:~5.0"然后呢因为下载过程会比较缓慢所以可以先根据官方提供的方式配置一下该组件的中间件根据官方提供…

qc成果报告范例_质量引领创新 扬子江勇夺医药行业QC“十五连冠”

近日,第40届全国医药行业QC小组成果发布交流会圆满落幕,扬子江药业集团勇夺QC一等奖总数“十五连冠”。会上,业界人士共享新成果、带来新思考、集聚新视野。扬子江人凭借高标准、高要求的精益求精的创新精神,在产品质量、技术、人…

oracle 11g安装时设密码 database control,安装oracle 11g 保护Database Control时出错,Database Control已在非安全模式下启动...

错误解决:打开cmdC:\Users\lin>emctl status dbconsoleEnvironment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name.C:\Users\lin>C:\Users\lin>set oracle_sidorclC:\Users\lin>emca -config dbcontrol dbE…

oracle fs1 2多少u,甲骨文FS1系列闪存的“大道至简”

近年来,存储技术中,闪存技术顶着“最高效挖掘数据能力”和“最小容量需求”的称号试图颠覆传统存储的技术架构和竞争格局。据IDC预测,全闪存存储阵列市场规模在2015年将增至12亿美元,而到2016年这一市场将增至16亿美元&#xff0c…

django oracle 性能,4.利用Django在前端展示Oracle 状态趋势

利用Django在前端展示Oracle 状态趋势2017-12-15 Python 宅必备开发环境操作系统:CentOS 7.4Python版本 :3.6Django版本: 1.10.5操作系统用户:oms数据处理:pandas前端展示:highcharts通过上面我们已介绍了如何定时获取系统Oracle状态语句以及如何利用pandas处理成highcharts识别…