ADB 命令结合 Monkey 的使用

news2024/11/26 18:48:10

1、什么是monkey

Monkey 是Android SDK提供的一个命令行工具,可以简单方便的发送伪随机的用户事件流,对Android APP做压力(稳定性)测试。主要是为了测试app是否存在无响应和崩溃的情况

2、adb结合 monkey 的常用命令

adb shell monkey 100:对该设备下,随机应用,执行100次的随机操作。(伪随机)

adb shell monkey -p <包名> 100:指定应用(包)随机操作100次。这里演示的包名为:com.dfcyc.app.dffs

 

adb shell monkey -p <包名> -v -v -v 100 >D:\log.txt:指定应用随机操作100次并打印日志到指定路径/文件
-v:日志等级,一共3级
D:\log.txt:指定路径存放日志,文件名自定义。

adb shell monkey -s <seed值> -p <包名> -v -v -v 100 >D:\log.txt:根据seed值 指定应用随机操作100次并打印日志到指定路径/文件
seed值:输出log日志文件后,文件内查看。

adb shell monkey -p <包名> -v -v -v --throttle 1000 200 >D:\log.txt:指定应用随机操作200次,每1000毫秒点击一次,并打印日志到指定路径/文件。
–throttle:后面跟毫秒数

在命令执行过程中,按 Ctrl+C 可以退出,但不代表monkey停止 (包括运行monkey时拔掉数据线,仍然未停止),如果需要停止monkey可以杀死该进程 id,如下命令:
adb shell ps | findstr monkey:停止前先查看当前系统,monkey在跑的 进程id

adb shell kill <进程pid>:强制杀死在跑的monkey进程


3、monkey的日志分析

使用 Monkey 进行测试结束后,我们关注的是应用在测试中是否出现崩溃或无响应这类问题。测试结果可以通过如下方法判断:

3.1.正常:

monkey测试顺利执行完成,在log的最后,会打印当前执行时间的次数和所花费的时间。

Monkey finished代表执行完成

3.2.异常:日志内搜索异常关键字

a. 无响应-Anr问题:在日志中搜索“ANR”
b. 崩溃问题:在日志中搜索“CRASH”
c. 其他问题:在日志中搜索”Exception”

3.3.附:常见的日志错误

更多日志相关信息可自行百度
有实力的同学可以写个小工具,自动进行日志分析即可。
知识点:adb logcat的日志和monkey命令日志的区别
adb monkey日志:是记录monkey命令在手机APP操作的事件。
adb logcat日志:是记录手机系统在运行app时有什么异常的事件

 4、monkey的日志查看

运行app500次,然后把日志保存在d:\123\mlog.txt文件下,并分析有没有问题

在这里插入图片描述

 

 

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

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

相关文章

如何选择跨平台桌面应用开发框架

受益于开源技术的发展&#xff0c;以及响应快速开发的实际业务需求&#xff0c;跨平台开发不仅限于移动端跨平台&#xff0c;桌面端虽然在市场应用方面场景不像移动端那么丰富&#xff0c;但也有市场的需求。 相对于个人开发者而言&#xff0c;跨平台框架的使用&#xff0c;主…

干货!一次伪静态页面的SQL注入!白帽黑客实战 。

涉及技能点 SQL注入基础原理 盲注常用函数及思路 burpsuite基础知识 过程记录 1.发现 在翻阅一EDU站点时&#xff0c;发现路径中带有明显的数字参数 好像与我们平时习惯的xxx.php?id不同呃 2.尝试注入 按照以往习惯&#xff0c;先用order by探探底&#xff0c;结果翻车了…

SPARKSQL3.0-PhysicalPlan物理阶段源码剖析

一、前言 阅读本节需要先掌握【SPARKSQL3.0-Optimizer阶段源码剖析】 本质&#xff1a;物理计划阶段将optimizer阶段优化后的逻辑算子树【LogicalPlan】进行进一步转换&#xff0c;生成物理算子树【SparkPlan】&#xff0c;物理算子树的节点可以直接生成 RDD 或对 RDD 进行 t…

javaweb 使用element + vue 完善项目 servlet 优化

我们先定义一个BaseServlet,继承HttpServlet 重写Service方法 &#xff08;因为HttpServlet就是在Service方法里做的通过请求方式进行方法分发&#xff0c;我们就重写改成通过请求路径分发&#xff09; 根据资源路径进行方法分发&#xff0c;利用反射得到调用者的class字节码文…

C++-指针:void*(不确定类型指针)简介【void *可以接受任何类型的赋值】【void *可以赋值给任何类型的变量】【void *不可以解引用】

void* 是一种特殊的指针类型&#xff0c;可用于存放任意对象的地址。一个 void* 指针存放着一个地址&#xff0c;这一点和其他指针类似。 void *可以接受任何类型的赋值&#xff0c;任何类型的指针都可以直接赋值给void *型指针&#xff0c;无需进行强制类型转换&#xff0c;相…

超大规模研究发现,缺乏维生素D,增加早逝风险

晒太阳是日常生活中最常见的一件事情了&#xff0c;但是很多人为了避免晒黑不喜欢晒太阳&#xff0c;更是把自己在夏天裹得严严实实&#xff0c;恨不得只露两只眼睛。其实每天晒太阳对身体有很多益处&#xff0c;杀菌消毒、促进维生素D的生成、促进血液循环和加速脂肪燃烧等。维…

IBM MQ 通道数量查看,以及最大通道数的修改

一&#xff0c;说明 在实践生产环境中&#xff0c;我们的运维人员很多时候都想关注通道使用了多少&#xff0c;离限定的对大通道数还有多少&#xff1f;下面我们就查看通道数量提供相应的办法。 二&#xff0c;示例 我有两个队列管理器&#xff0c;TEST_QM和 TEST_RQM&#…

C. Random Events(思维+概率)

Problem - 1461C - Codeforces 罗恩是一个长度为n的排列组合的快乐主人。 一个长度为n的排列组合是一个由1到n的n个不同的整数按任意顺序组成的阵列。例如&#xff0c;[2,3,1,5,4]是一个排列组合&#xff0c;但是[1,2,2]不是一个排列组合&#xff08;2在数组中出现了两次&…

动手学习深度学习

动手学习深度学习内容安排深度学习介绍内容安排 深度学习基础&#xff1a;线性神经网络、多层感知机卷积神经网络&#xff1a;LeNet、AlexNet、VGG、Inception、ResNet循环神经网络&#xff1a;RNN、GRU、LSTM、seq2seq注意力机制&#xff1a;Attention、Transformer优化算法&…

GPU是什么?GPU有多重要?

前段时间&#xff0c;MD和英伟达相继接到通知要对我国断供高端GPU芯片&#xff0c;很多人不知道GPU到底有什么用&#xff1f;下面IC修真院就带大家来一起了解一下GPU。 首先来了解一下GPU是什么&#xff1f; GPU–图形处理器&#xff08;Graphics Processing Unit&#xff09…

Assignment写作需要做好哪些练习?

有些澳洲留学小伙伴在被Assignment难住后往往会选择多练习来完成&#xff0c;那么如何顺利完成一篇Assignment的呢&#xff1f;小编就来为大家详解一番。 Some students studying in Australia often choose to practice more to complete assignments when they are baffled b…

【pwn】2022 极客大挑战

【pwn】2022 极客大挑战 前言 又是一年的极客大挑战&#xff0c;又老了一岁&#xff0c;也只有打打新生赛才能有第一次接触ctf快乐了&#xff0c;现在各种比赛的pwn都是纯纯的坐牢~ 本次题解的所有脚本使用的类库都是本人自己整合的一个库&#xff0c;github地址&#xff1a…

2022京东双十一全品类销售额变化情况一览:50%增长,50%下滑

面对外界的风风雨雨&#xff0c;京东一直稳如泰山。有人认为京东全线都出现销售额大幅下滑&#xff0c;有人则认为京东今年的销售额整体可观。 那么相较于去年同期&#xff0c;究竟有哪些品类在如此大环境下依然处于上升期&#xff0c;又有哪些品类遭遇滑铁卢&#xff0c;面临短…

Redis数据类型之list

文章目录listⅠ. 增删查改Ⅱ. 业务场景Ⅲ. 注意事项提示&#xff1a;以下是本篇文章正文内容&#xff0c;Redis系列学习将会持续更新 list ● 数据存储需求&#xff1a;存储多个数据&#xff0c;并对数据进入存储空间的顺序进行区分 ● 需要的存储结构&#xff1a;一个存储空间…

问题 D: 是否为有效的拓扑序列

题目描述 在一个有向无环图中&#xff0c;可能存在多种有效拓扑序列。以下图为例&#xff1a; 存在两种可行的拓扑序列&#xff1a;0 1 2 3 40 2 1 3 4 本题会给出一个图&#xff0c;以及多个序列&#xff0c;你来判断每一个序列是否是该图的有效拓扑序列。 输入格式 第一…

(Transferrin)TF-PEG-PCL/PLA/PAA 转铁蛋白-聚乙二醇-聚已内酯/聚乳酸/聚丙烯酸

产品名称&#xff1a;转铁蛋白-聚乙二醇-聚已内酯 英文名称&#xff1a;TF-PEG-PCL;Transferrin-PEG-PCL 纯度&#xff1a;95% 存储条件&#xff1a;-20C&#xff0c;避光&#xff0c;避湿 外观:固体或粘性液体&#xff0c;取决于分子量 PEG分子量可选&#xff1a;350、550、75…

外汇天眼:美国10月份成屋销售连续第九个月下降!利率上升和通胀飙涨吓跑潜在买家!

10月份美国房屋销售连续第9个月下滑&#xff0c;因利率上升和通胀飙升令买家持观望态度。 具体付 全美房地产经纪人协会(National Association of Realtors)的数据显示&#xff0c;9月至10月&#xff0c;成屋销售下降5.9%。这是自2011年12月以来的最慢速度&#xff0c;除了在C…

企业真实面试:父子类之间到底是怎么实例化的?

一. 问题展现 今天有粉丝向波哥询问了这样一道题目&#xff0c;这道题目是粉丝在面试时遇到的&#xff0c;如下图所示&#xff1a; 波哥把上图这道题目的考察重点给大家梳理一下&#xff1a; 有一个父类People&#xff0c;它有一个子类Child&#xff1b; 父类的的无参构造方法…

Redis——》过期删除策略

推荐链接&#xff1a; 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 Redis——》过期删除策略一、过期删除策略1、定时删除2、惰性删除3、定期删…

通达信交易dll接口怎么实现程序化交易?

现在很多交易者选择量化投资与传统的股票交易之间&#xff0c;往往会选择自动化交易跟量化交易的比较多&#xff0c;毕竟现在很多可以开发出来的交易软件都具备了量化的特点&#xff0c;能够及时的把握更多的盈利的机会&#xff0c;就比如说常使用的到通达信交易dll接口就是一个…