Monkey测试
一:测试环境搭建
1:下载android-sdk_r24.4.1-windows
2:下载Java
3:配置环境变量:关于怎么配置环境变量(百度一下:monkey环境搭建,)
二:monkey测试:
1:基本命令:adb shell monkey

注:在这个操作之前,设备必须要电脑连接,如图:

2:monkey高级参数应用
Seed实践
1:首先要打开待测得apk,然后在命令行里面输入:adb shell dumpsys activity | find “mFocusedActivity”,获取要测试的APP包名,如图:

以计算器为例,测试
命令:adb shell monkey –p com.android.calculator2 –v 100
注:-p: 用此参数指定一个或多个包。指定包之后,monkey将只允许系统启动指定的app。
-v:用亍指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别
如图:

三:seed实践
用亍指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的
命令:adb shell monkey –p com.android.calculator2 –v 1000,执行过程出现程序报错,
![]()
如图的意思:在执行第七次时,随机数生成器的seed值,如:seed值后面的数值。Seed值一般用于复现现象,比如说:当程序出现报错时,会随机生成seed值,此时只要在命令中加入seed值,就能复现问题。
输入:adb shell monkey -p com.android.calculator2 -s 1262865229687 1000
四:--throttle实践
用亍指定用户操作(即事件)间的时延,单位是毫秒;如果指定这个参数,monkey会尽可能快的 生成和发送消息
输入:adb shell monkey -p com.android.calculator2 –-throttle 3000 100
五:忽略崩溃事件
--ignore-crashes,
做APP压力测试12小时,会出现各种程序报错和异常,需要加入:以下参数:
输入:adb shell monkey -p com.android.calculator2 --ignore-crashes –v –v 100000
即使出现程序报错异常,也照常测试,不会停止测试
六:忽略超时事件
--ignore-timeouts
做APP压力测试12小时,会出现各种程序报错和异常,需要加入:以下参数:
输入:adb shell monkey -p com.android.calculator2 --ignore-timeouts
–v –v 100000
即使出现程序超时等待,也照常测试,不会停止测试
Monkey 日志结果分析
1:crash结果析取
实践过程:1:安装待测试的APP
2:执行压力命令
3:析取crash的Exception的信息
例子:adb shell monkey -p com.android.calculator2 -v -v 1000 >D:123.txt
在测试计算器时,出现报错,可以查看log日志,在日志中搜索“”crash“”关键字

截取crash之后的log信息,提供给开发工程师,分析原因
2:1:ANR结果析取
实践过程:1:安装待测试的APP
2:执行压力命令
3:析取ANR的Exception的信息
例子:adb shell monkey -p com.android.calculator2 --ignore-crashes -v -v 10000 >D:123.txt
在测试计算器时,出现程序无响应时,可以查看log日志,在日志中搜索“”crash“”关键字
Monkey参数大全,请参考:百度
http://www.cnblogs.com/bixiaopeng/articles/2149904.html
相关文章:
Monkey测试
一:测试环境搭建 1:下载android-sdk_r24.4.1-windows 2:下载Java 3:配置环境变量:关于怎么配置环境变量(百度一下:monkey环境搭建,) 二:monkey测试࿱…...
wzx-jmw:NFL合理,但可能被颠覆。2023-2024
As well known by all, NFL is ... 没有免费的午餐理论 No Free Lunch Theorem_免费午餐理论-CSDN博客 However, if we......
密码技术 (5) - 数字签名
一. 前言 前面在介绍消息认证码时,我们知道消息认证码虽然可以确认消息的完整性,但是无法防止否认问题。而数字签名可以解决否认的问题,接下来介绍数字签名的原理。 二. 数字签名的原理 数字签名和公钥密码一样,也有公钥和私钥&am…...
php实战案例记录(10)单引号和双引号的用法和区别
在 PHP 中,单引号和双引号都被用于表示字符串。它们有一些共同之处,但也有一些明显的区别。 解析变量: 双引号允许解析变量,而单引号不会。在双引号中,你可以直接在字符串中插入变量,而不需要进行额外的连接…...
嵌入式Linux应用开发-基础知识-第十九章驱动程序基石②
嵌入式Linux应用开发-基础知识-第十九章驱动程序基石② 第十九章 驱动程序基石②19.3 异步通知19.3.1 适用场景19.3.2 使用流程19.3.3 驱动编程19.3.4 应用编程19.3.5 现场编程19.3.6 上机编程19.3.7 异步通知机制内核代码详解 19.4 阻塞与非阻塞19.4.1 应用编程19.4.2 驱动编程…...
trycatch、throw、throws
在Java中,try-catch、throw和throws是用于处理异常的重要关键字和机制,它们的作用如下: try-catch:try-catch 是用于捕获和处理异常的语句块。在try块中放置可能引发异常的代码。如果在try块中的代码引发了异常,控制流会跳转到与异常类型匹配的catch块。在catch块中,可以…...
问 ChatGPT 关于 GPT 的事情:数据准备篇
一、假如你是一名人工智能工程师,手里有一个65B的GPT大模型,但你需要一个6B左右的小模型,你会怎么做? 答:作为人工智能工程师,如果我手里有一个65B的GPT大模型,而我需要一个6B左右的小模型&…...
leetcode_17电话号码的组合
1. 题意 输出电话号码对应的字母左右组合 电话号码的组合 2. 题解 回溯 class Solution { public:void gen_res(vector<string> &res, vector<string> &s_m,string &digits, string &t, size_t depth) {if (depth digits.size()) {if ( !t.em…...
记录使用vue-test-utils + jest 在uniapp中进行单元测试
目录 前情安装依赖package.json配置jest配置测试文件目录编写setup.js编写第一个测试文件jest.fn()和jest.spyOn()jest 解析scss失败测试vuex$refs定时器测试函数调用n次手动调用生命周期处理其他模块导入的函数测试插槽 前情 uniapp推荐了测试方案dcloudio/uni-automator&…...
《C和指针》笔记30:函数声明数组参数、数组初始化方式和字符数组的初始化
文章目录 1. 函数声明数组参数2. 数组初始化方式2.1 静态初始化2.2 自动变量初始化 2.2 字符数组的初始化 1. 函数声明数组参数 下面两个函数原型是一样的: int strlen( char *string ); int strlen( char string[] );可以使用任何一种声明,但哪个“更…...
VBA技术资料MF64:遍历单元格搜索字符并高亮显示
【分享成果,随喜正能量】不要在乎他人的评论,不必理论与他人有关的是非,你只要做好自己就够了。苔花如米小,也学牡丹开。无论什么时候,都要有忠于自己的勇气,去做喜欢的事,去认识喜欢的人&#…...
一键智能视频编辑与视频修复算法——ProPainter源码解析与部署
前言 视频编辑和修复确实是随着电子产品的普及变得越来越重要的技能。有许多视频编辑工具可以帮助人们轻松完成这些任务如:Adobe Premiere Pro,Final Cut Pro X,Davinci Resolve,HitFilm Express,它们都提供一些视频修…...
Flutter开发环境的配置
2023-10最新版本 flutter SDK版本下载地址 https://flutter.cn/docs/development/tools/sdk/releases gradle各版本快速下载地址 https://blog.csdn.net/ii950606/article/details/109105402 JAVA SDK下载地址 https://www.oracle.com/java/technologies/downloads/#java…...
【超详细】Wireshark教程----Wireshark 分析ICMP报文数据试验
一,试验环境搭建 1-1 试验环境示例图 1-2 环境准备 两台kali主机(虚拟机) kali2022 192.168.220.129/24 kali2022 192.168.220.3/27 1-2-1 网关配置: 编辑-------- 虚拟网路编辑器 更改设置进来以后 ,先选择N…...
Linux命令(92)之rm
linux命令之rm 1.rm介绍 linux命令rm是用来删除一个或多个文件/目录,由于其删除的不可逆性,建议在日常工作中一定要慎用 2.rm用法 rm [参数] 文件/目录 rm常用参数 参数说明-r递归删除文件或目录-f不提示强制删除-i删除文件或目录前进行确认-v详细显…...
Mysql主从复制数据架构全面解读
大家好,我是山子,今天给大家分析Mysql 实现主从复制的方方面面,主从复制当然也是我们做读写分离的前提,以下内容是从各网络平台摘录整理总结归纳在一起的;内容已经从主从复制的各方面的维度进行了阐述;非常…...
ios证书类型及其作用说明
ios证书类型及其作用说明 很多刚开始接触iOS证书的开发者可能不是很了解iOS证书的类型功能和概念。下面对iOS证书的几个方面进行介绍。 apple开发账号分类: 免费账号: 无需支付费用给apple,使用个人信息注册的账号 可以开发测试安装&…...
警告-Ubuntu提示W: Possible missing firmware xxx解决方法
目录 现象原因解决方法 现象 当执行 sudo apt-get update或者sudo apt-get dist-upgrade时,有如下警告: W: Possible missing firmware /lib/firmware/rtl_nic/rtl8125a-3.fw for module r8169 W: Possible missing firmware /lib/firmware/rtl_nic/rt…...
有时候,使用 clang -g test.c 编译出可执行文件后,发现 gdb a.out 进行调试无法读取符号信息,为什么?
经过测试,gdb 并不是和所有版本的 llvm/clang 都兼容的 当 gdb 版本为 9.2 时,能支持 9.0.1-12 版本的 clang,但无法支持 16.0.6 版本的 clang 可以尝试使用 LLVM 专用的调试器 lldb 我尝试使用了 16.0.6 版本的 lldb 调试 16.0.6 的 clan…...
UG\NX二次开发 信息窗口的一些操作 NXOpen/ListingWindow
文章作者:里海 来源网站:王牌飞行员_里海_里海NX二次开发3000例,里海BlockUI专栏,C\C++-CSDN博客 简介: UG\NX二次开发 信息窗口的一些操作 NXOpen/ListingWindow 效果: 代码: #include "me.hpp" #include <NXOpen/ListingWindow.hxx> #include <…...
通过AxisApi中转站使用国外API大模型教程
前言:所有的国外大模型想不通过中转站直接使用,其实是很麻烦的的事情,就拿codex来说,需要一个谷歌账号,没有谷歌账号需要注册,注册还必须要使用国外的手机号码和验证码校验审核,流程很繁琐&…...
VideoDownloadHelper:3步实现全网视频下载的智能工具
VideoDownloadHelper:3步实现全网视频下载的智能工具 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper VideoDownloadHelper是一款专…...
Watercolor风格在MJ中被严重低估的3个底层能力:纸基模拟、颜料扩散建模、干湿叠加逻辑(Adobe资深插画师联合验证)
更多请点击: https://intelliparadigm.com 第一章:Watercolor风格在MJ中被严重低估的3个底层能力:纸基模拟、颜料扩散建模、干湿叠加逻辑(Adobe资深插画师联合验证) 纸基模拟:不只是纹理,而是…...
终极Mac菜单栏整理指南:用Ice让你的桌面从此清爽高效
终极Mac菜单栏整理指南:用Ice让你的桌面从此清爽高效 【免费下载链接】Ice Powerful menu bar manager for macOS 项目地址: https://gitcode.com/GitHub_Trending/ice/Ice 你是否厌倦了Mac菜单栏上密密麻麻的图标?是否经常因为找不到需要的应用图…...
航模老鸟的‘省钱’秘籍:一块BB响如何守护你的多块锂电池(附设置误区避坑)
航模电池管理的低成本智慧:BB响的进阶使用策略 在航模和无人机领域,电池管理一直是玩家们关注的焦点。对于拥有多块电池的资深爱好者或小型工作室来说,如何在保证安全的前提下优化成本,是一个值得深入探讨的话题。传统做法是为每块…...
数据标注平台搭建:支持主动学习的智能标注工具
在软件测试领域,测试数据的质量直接决定了测试覆盖率和缺陷发现能力。随着AI驱动测试的兴起,高质量标注数据成为训练测试预言、缺陷预测模型、自动化测试脚本生成等智能测试工具的核心资产。然而,传统的人工标注方式效率低下、一致性差&#…...
【Sora 2 × Gaussian Splatting融合实战指南】:20年CV专家亲授3大跨模态生成瓶颈突破法
更多请点击: https://intelliparadigm.com 第一章:Sora 2 Gaussian Splatting融合的技术演进与范式跃迁 Sora 2 与 Gaussian Splatting 的深度耦合,标志着生成式视频建模从隐式神经表征迈向显式可微几何渲染的关键转折。二者并非简单串联&a…...
别再死记硬背了!用这三个等效模型,轻松搞定二极管电路分析(附典型例题)
二极管电路分析的三大等效模型实战指南 在电子工程和嵌入式开发领域,二极管作为基础元件却常常成为初学者的"拦路虎"。面对复杂的二极管电路,很多人陷入死记硬背的困境——记住各种电路的输出结果,却无法理解背后的分析逻辑。这种学…...
Cookie AutoDelete技术架构解析:深入理解Redux驱动的浏览器扩展实现
Cookie AutoDelete技术架构解析:深入理解Redux驱动的浏览器扩展实现 【免费下载链接】Cookie-AutoDelete Firefox and Chrome WebExtension that deletes cookies and other browsing site data as soon as the tab closes, domain changes, browser restarts, or a…...
Windows网络测速终极指南:iperf3免费工具完整教程
Windows网络测速终极指南:iperf3免费工具完整教程 【免费下载链接】iperf3-win-builds iperf3 binaries for Windows. Benchmark your network limits. 项目地址: https://gitcode.com/gh_mirrors/ip/iperf3-win-builds 还在为网络速度不稳定而烦恼吗&#x…...
