monkey大全!可直接运用在项目中的常规monkey命令

news2025/1/18 20:07:23

测试步骤

adb devices-----了解包名-----adb shell monkey -----p 包名 ----v 运行次数(多个参数的组合形成不同的用例以求最大的覆盖)-----当崩溃或无响应时分析monkey日志

常规monkey命令

(可直接在项目里使用)

adb shell monkey -p com.jiochat.jiochatapp --throttle 100 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 1000000>d:\b.log

重现bug:monkey日志搜索关键词ANR exception,将之前的事件重新操作,尤其是seed值要一模一样,如monkey -p 包名 -v seed 0 500

日志分析:查看是否有crash等关键字,找上下文,进行简单分析将你所能定位的错误信息发给开发。

该工具用于进行压力测试。开发人员结合monkey 打印的日志 和系统打印的日志,修改测试中出现的问题。

Monkey 是SDK中附带的一个工具,所有的事件都是随机产生的,不带任何人的主观性。

Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是:/system/framework/monkey.jar。

图片

图片

Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中的存放路径是:/system/bin/monkey;这样就可以通过在shell窗口中执行: adb shell monkey {+命令参数}来进行Monkey测试了。

图片

图片

运行monkey

运行方式有三种:

1、pc机上 adb shell monkey +参数 

2、 pc机输入adb shell进入到手机的安卓设备后再monkey+参数 

3、手机设备上安装一个模拟器手机执行monkey+参数(手机模拟器可以通过百度搜索或360手机助手搜android terminal,安装即可,可以在模拟器的命令行中输入mokey +参数)

monkey命令详解

图片

monkey -pcom.tencent.mtaexample -s 23 --throttle2000 --ignore-crashes --ignore-timeouts -v -v -v 100000>/data/local/tmp/log.txt 2>&1 &

1. -p后面接着的对应的包名,如果是整机测试,就不需要 -ppackage_name

2. -s后面是对应的种子数,好像就是操作步骤,根据她们测试的经验,一般种子数在23,同步她们测试的结果,一般种子的个数固定为23,和她们选择的操作步骤就是同步的。

3. --ignore-crashes --ignore-timeouts 这里是在monkey测试的过程中遇到carash或者timeout的情况时忽略掉,一般不设置时,出现carash或者timeout时,Monkey测试会终止。这里是防止Monkey测试终止。

4. -v 指的是Monkey测试时打印log级别。

5. 100000 这里是指点击的次数,根据测试的经验,对于单个应用程序这个次数设置在100000次就可以了;如果是整机,一般设置在500000次。

/data/local/tmp/log.txt测试的log记录在手机上/data/local/tmp/ 下面的log.txt里面,这个名字可以自己写。

6. 2>&1 固定的写法,这个也很重要,代表的意思是中间忽略的东东的日志一并输入到指定的文件中。

7. 最后单独的一个"&" 是一旦Monkey测试开始了,之后可以拔掉数据线,不会影响Monkey测试。

8. 测试所有模块 monkey -s 23 --ignore-crashes --ignore-timeouts -v-v -v 100000> /data/local/tmp/log.txt 2>&1 &

杀monkey进程

如果想中断运行中的monkey CTRL+C

adb shell ps | grep monkey 返回进程号

adb shell kill [刚才查到的进程号]

app包名查看

a.手机安装包名查看器'

b.aapt命令 aapt dump badging *.apk

c、源码下的AndroidManifest.xml文件查看

d.adb logcat抓取当前Android机运行的app的包名( I/ActivityManager(数字): Displayed 包名/类
名: +ms )

命令行输入 adb logcat >e:\bag.txt

手机操控app,ctrl+c停止

去e:\bag.txt这个文件下搜索关键字如Displayed ,一般都能找到

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

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

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

相关文章

【计算机考研】目标学校改考408,报考人数大量减少,第二年能捡漏吗?

关键还是要看往年,最近三年的成绩。如果突然暴跌的话一定要注意第二年是否会弹很厉害。有时候408的学校就是一场博弈论,选择大于努力。 从大部分情况来看,爆冷后第一年回弹还是有限,但是第三年可能会爆热。 然后谈一下备考。 首…

信息系统项目管理师0053:设计和实施(4信息系统管理—4.1管理方法—4.1.3设计和实施)

点击查看专栏目录 文章目录 4.1.3设计和实施1.设计方法2.架构模式4.1.3设计和实施 开展信息系统设计和实施,首先需要将业务需求转换为信息系统架构,信息系统架构为将组织业务战略转换为信息系统的计划提供了蓝图。信息系统是支持组织中信息流动和处理的所有基础,包括硬件、软…

Seaborn:推荐一个好用的Python可视化工具

1. 引言 Seaborn 是建立在 matplotlib 基础上的数据可视化库,并与 Python 中的 pandas 数据结构紧密结合。可视化是 Seaborn 的核心部分,有助于直观的理解数据。 闲话少说,我们直接开始吧! 2. 安装 Seaborn库主要提供以下功能…

论文DOI号相关及在latex中添加DOI跳转

DOI与ISBN, ISSN的不同之处 图书和期刊内容都使用DOI。 与ISBN和ISSN不同的是,ISBN喝ISSN可以识别图书或期刊,DOI可以识别单个章节或单篇文章。 所以,如果要搜寻某本书籍,需要用到的是ISBN号;如果要搜寻某本期刊&…

微服务组件-注册中心

微服务组件-注册中心 使用restTemplate实现远程服务调用存在以下的问题: 1、消费者不知道如何获取服务提供者具体信息。 2、在远程调用的过程中,直接采用填写url的硬编码方式,如果服务消费者发生变化,得到的结果就会出错。 3、如果…

机器学习-随机森林算法预测房租模型

文章目录 机器学习-随机森林算法预测房租模型解决问题数据集探索性数据分析数据预处理构建模型并训练结果分析与评估参数调优结果预测经验总结参考文章 机器学习-随机森林算法预测房租模型 解决问题 根据待租房源相关信息,通过随机森林机器学习算法构件预测模型&a…

代码随想录算法训练营第二十九天|491.递增子序列、46.全排列、46.全排列II

491. 非递减子序列 思路: 在90.子集II (opens new window)中我们是通过排序,再加一个标记数组来达到去重的目的。 而本题求自增子序列,是不能对原数组进行排序的,排完序的数组都是自增子序列了。 所以不能使用之前的去重逻辑&…

C++_特殊类的设计和单例模式

文章目录 学习目标:1.请设计一个类,不能被拷贝2. 请设计一个类,只能在堆上创建对象3. 请设计一个类,只能在栈上创建对象4. 请设计一个类,不能被继承5. 请设计一个类,只能创建一个对象(单例模式) 特殊类的设…

Django中的数据库优化与ORM性能调优【第169篇—ORM性能调优】

👽发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 Django中的数据库优化与ORM性能调优 在开发基于Django的Web应用程序时,数据库是…

上下文输入无限制,谷歌发布Infini-Transformer

去年,百川智能发布号称全球最长的上下文窗口大模型Baichuan2-192K,一次性可输入35万字,超越GPT-4。 今年3月,Kimi智能助手宣布在上下文窗口技术上突破200万字。 紧追其后,国内各大互联网巨头纷纷布局升级自家大模型产…

【C语言】贪吃蛇项目(1) - 部分Win32 API详解 及 贪吃蛇项目思路

文章目录 一、贪吃蛇项目需要实现的基本功能二、Win32 API介绍2.1 控制台2.2 部分控制台命令及调用函数mode 和 title 命令COORD 命令GetStdHandle(获取数据)GetConsoleCursorInfo(获取光标数据)SetConsoleCursorInfo &#xff08…

数字化转型之路-云原生与ChaosMeta

作者:刘凇杉(chaosmeta-platform发起人) 一.引言 随着科技的快速发展和信息时代的到来,数字化转型已成为企业不可或缺的战略选择。作为中国领先的科技金融企业,蚂蚁集团深谙数字化转型的重要性,并在其转型…

LeetCode 704.二分查找

LeetCode 704.二分查找 1、题目 题目链接:704. 二分查找 2、思路 这道题目是要在有序数组 nums 中找到目标值 target,符合二分查找的前提条件(线性表必须是有序的,且采用顺序存储)。同时题目还强调数组中无重复元…

2024最新在线工具箱网站系统源码

(购买本专栏可免费下载栏目内所有资源不受限制,持续发布中,需要注意的是,本专栏为批量下载专用,并无法保证某款源码或者插件绝对可用,介意不要购买!购买本专栏住如有什么源码需要,可向博主私信,第二天即可发布!博主有几万资源) 2024最新在线工具箱网站系统源码是一…

怎样将excel的科学计数法设置为指数形式?

对了,这个问题中所谓的“指数形式”是指数学上书写的右上标的指数格式,能不能通过单元格设置来做这个格式的转换呢? 一、几个尝试 以下,以数字123000为例来说明。 情况1.转换成数学上的书写方式,如下图的样子&#x…

基于SpringBoot+Vue的二手车交易系统的设计与实现(源码+文档+包运行)

一.系统概述 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统二手车交易信息管理难度大,容错率低&…

Java面试八股之fail-fast和fail-safe的区别

简述fail-fast和fail-safe的区别 定义与基本概念 fail-fast: 定义:fail-fast是一种迭代器机制,当集合在迭代过程中被结构上修改(如添加、删除元素),会立即抛出ConcurrentModificationException异常&…

离岸人民币与人民币国际化

参考 什么是离岸人民币?它有什么用? - 知乎 “人民币就是人民币,为什么要在它前面加上离岸二字?” “既然有离岸人民币,是否有在岸人民币?” 今天我们就简单了解一下什么是离岸人民币。 离岸/在岸人民币…

朗致集团面试-Java架构师

总结 三轮面试,第一轮是逻辑测试性格测试,第二轮是技术面试(面试官-刘老师),第三轮是CTO面试(面试官-屠老师)。如果第三轮面试通过,考官会问你薪资意向,如果满意的话HR就…

5. Mysql的binlog介绍

参考:InnoDB学习(三)之BinLog 1. BinLog介绍 BinLog又称为二进制日志,是MySQL服务层的数据日志,MySQL所有的存储引擎都支持BinLog。 BinLog记录了MySQL中的数据更新和可能导致数据更新的事件,可以用于主从…