android monkey压力测试,Android-Monkey 压力测试

1.Monkey 介绍

Monkey是Android中一个对App进行压力测试的命令行工具,可以向系统发送伪随机的用户事件流对正在开发的App进行压力测试(模拟用户操作App)。压力测试主要是为了提高App的稳定性、和用户留存率。Monkey功能强大,主要包含三个部分:1.Monkey 命令。2.MonkeyScript。3.Monkeyrunner。该篇文章主要介绍Monkey命令。

用 Monkey 进行App压力测试的结果有三种:

1.正常

2.Crash :程序崩溃

3.ANR:程序无响应

2.Monkey 命令

查看 monkey 使用帮助: adb shell monkey -help

1.在手机上随机操作 100 次。adb shell monkey 100

2. -p  指定要进行测试的 App 的包名,可以指定多个包名,对多个 App 进行测试。adb shell monkey -p 1000

3. -c  指定要进行测试的 App 的 category,可以指定多个 category,Monkey 将仅允许系统访问其中一个指定类别中所列的 Activity。adb shell monkey -c 1000

category 是启动 Activity 时的隐式 Intent,例如:android.intent.category.LAUNCHER,表示该 Activity 可以作为启动界面。

4. -s  设置伪随机数生成器的 seed 值。adb shell monkey -p -s 12345 1000

如果你使用相同的 seed 值重新运行 Monkey,它将会生成相同的事件序列。主要用来将程序 Bug 重现。

5. -v  输出日志信息的详细级别,共三个级别,最详细级别是三个 -v。adb shell monkey -v -v -p -s 12345 1000

6. 将log日志信息保存到指定文件。adb shell monkey -p -s 100 1000 >C:\Desktop\monkey\testlog.txt

7. --throttle  在随机事件中插入固定的延迟时间,单位:毫秒。adb shell monkey -v -p --throttle 500 1000

8. --pct-touch  设置触摸事件的百分比,即手指对屏幕进行点击抬起(down-up)的动作。adb shell monkey -v -p --pct-touch 50 1000

9. --pct-motion  设置移动事件百分比,这种事件类型是由屏幕上某处的一个down事件一系列伪随机的移动事件和一个up事件,即点击屏幕,然后直线滑动,最后抬起的事件。adb shell monkey -v -p --pct-motion 50 1000

10. --pct-trackball  设置轨迹球事件百分比,这种事件类型是一个或者多个随机移动,包含点击事件,这里可以是曲线运动。

11. --pct-nav  设置基本导航事件百分比,包括:上下左右四个方向按键。

12. --pct-majornav  设置主要导航事件百分比,这些导航事件通常会导致UI界面发生变化,导航按键包括:back键,菜单键等。

13. --pct-syskeys  设置系统按键事件百分比,包括:back键,home键,音量键,拨号键等。

14. --pct-appswitch  设置Activity 启动次数所占百分比。Monkey 会以随机间隔发起 startActivity() 调用,以最大限度地覆盖软件包中的所有 Activity。

15. --pct-anyevent  设置其他事件的百分比,包括所有其他类型的事件,例如按键、设备上的其他不太常用的按钮等。

16. --ignore-crashes  忽略操作时的崩溃异常。adb shell monkey --ignore-crashes -p 1000

Monkey 在执行操作时,如果程序出现异常,Monkey 会停止运行。会导致随机事件次数没有执行完成,设置此项,就算程序出现异常,Monkey 将继续执行随机事件,直到事件计数完成。

17. --ignore-timeouts  忽略程序执行超时(ANR)。adb shell monkey --ignore-timeouts --ignore-crashes -p 1000

18. --ignore-security-exceptions  忽略程序发生权限错误。adb shell monkey --ignore-security-exceptions -p 1000

当程序发生权限错误(例如启动一些需要特定权限的Activity)导致的异常时,Monkey将停止运行。设置此项,Monkey 将继续执行随机事件,直到事件计数完成。

19. --monitor-native-crashes  监视并报告 Android 系统原生代码中发生的崩溃。

20. --ignore-native-crashes  忽略本地代码导致的崩溃。

21. --kill-process-after-error  设置此项,程序出异常 Monkey 就会停止。而出现异常的App将保持运行状态。

22. --wait-dbg  停止正在执行的 Monkey,直到有调试器和它相连接。

13. --dbg-no-events  设置此项,Monkey 将执行初始启动,进入到一个测试 Activity,然后不会再进一步生成事件。

24. --hprof  设置此项,则会在 Monkey 事件序列之前和之后立即生成分析报告。

3.参考资料

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

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

相关文章

LeetCode 1974. 使用特殊打字机键入单词的最少时间

文章目录1. 题目2. 解题1. 题目 有一个特殊打字机,它由一个 圆盘 和一个 指针 组成, 圆盘上标有小写英文字母 ‘a’ 到 ‘z’。 只有 当指针指向某个字母时,它才能被键入。指针 初始时 指向字符 ‘a’ 。 每一秒钟,你可以执行以…

vue弹出alert_vue+webpack 实现简单的弹窗(alert)组件

话不多说,下面是alert组件的代码(需要引用node-sass sass-loader scss-loader,主要是为了用scss样式)提示{{message}}{{negativeText}}{{positiveText}}export default {name: my-alert,props: {isShow: {type: Boolean,default: false},negativeText:{t…

android studio有错误,清单合并失败,Android Studio中出现多个错误

因此,我是Android和Java的初学者。我刚刚开始学习。今天我在尝试Intent时,发生了一个错误。Error:Execution failed for task :app:processDebugManifest.> Manifest merger failed with multiple errors, see logs我在这里找到了一些解决方案&#x…

LeetCode 1979. 找出数组的最大公约数

文章目录1. 题目2. 解题1. 题目 给你一个整数数组 nums ,返回数组中最大数和最小数的 最大公约数 。 两个数的 最大公约数 是能够被两个数整除的最大正整数。 示例 1: 输入:nums [2,5,6,9,10] 输出:2 解释: nums 中…

BZOJ 1529: [POI2005]ska Piggy banks( 并查集 )

每一连通块砸开一个就可以拿到所有的钱, 所以用并查集求连通块数 -------------------------------------------------------------------#include<bits/stdc.h>#define rep(i, n) for(int i 0; i < n; i)#define clr(x, c) memset(x, c, sizeof(x))using namespace …

horizon流程图_项目实施流程和规范模板(测试方向)

转自&#xff1a;http://blog.51cto.com/xqtesting/20523121. 简介1.1 编写背景随着公司业务的快速发展&#xff0c;技术部面临的基础技术研发、客户系统建设、新产品研发、老旧系统改造等各类建设项目越来越多。但在众多技术人员参与、并发项目交互的情况下&#xff0c;如何定…

android menu xml 属性,Android中Menu类型及常见属性说明

Android系统里面有3种类型的菜单&#xff1a;options menu&#xff0c;contextmenu&#xff0c;sub menu。一、optionsmenu按Menu键就会显示&#xff0c;用于当前的Activity。它包括两种菜单项&#xff1a;因为options menu在屏幕底部最多只能显示6个菜单项&#xff0c;这些菜单…

LeetCode 1980. 找出不同的二进制字符串

文章目录1. 题目2. 解题1. 题目 给你一个字符串数组 nums &#xff0c;该数组由 n 个 互不相同 的二进制字符串组成&#xff0c;且每个字符串长度都是 n 。 请你找出并返回一个长度为 n 且 没有出现 在 nums 中的二进制字符串。 如果存在多种答案&#xff0c;只需返回 任意一个…

#时间预测算法_改进的智慧交通系统出行时间预测算法

引用Chowdhury N K, Leung C K S. Improved travel time prediction algorithms for intelligent transportation systems[C]//International Conference on Knowledge-Based and Intelligent Information and Engineering Systems. Springer, Berlin, Heidelberg, 2011: 355-3…

Navicat for MySQL数据库管理工具

官网下载地址&#xff1a;http://www.navicat.com/download/navicat-for-mysql //如图所示成功建立连接 Host Nmae/Ip Adress:localhost为本地连接&#xff0c;建立远程数据库连接时设置对应ip即可。 1&#xff09;.新建表插入中文数据可以出现&#xff1a; 导致程序直接关闭&a…

LeetCode 1981. 最小化目标值与所选元素的差(DP)

文章目录1. 题目2. 解题1. 题目 给你一个大小为 m x n 的整数矩阵 mat 和一个整数 target 。 从矩阵的 每一行 中选择一个整数&#xff0c;你的目标是 最小化 所有选中元素之 和 与目标值 target 的 绝对差 。 返回 最小的绝对差 。 a 和 b 两数字的 绝对差 是 a - b 的绝对…

android c 11 编译,Android NDK r9b和编译C 11

对不起,以下应该是评论,而不是回答 – 因为我不知道你的代码有什么问题,但是你可以做些什么来弄清楚自己&#xff1a;这是我最小的Android.mk&#xff1a;LOCAL_PATH : $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE : hello-jniLOCAL_SRC_FILES : HelloJni.cppLOCAL_LDLIB…

hdu 5312 数学

转载于:https://www.cnblogs.com/cnblogs321114287/p/4676747.html

协程asyncio_Asyncio深入浅出

Asyncio是一个异步编程的框架&#xff0c;可以解决异步编程&#xff0c;协程调度问题&#xff0c;线程问题&#xff0c;是整个异步IO的解决方案。在学习asyncio之前&#xff0c;我们先来理清楚同步/异步的概念&#xff1a;同步是指完成事务的逻辑&#xff0c;先执行第一个事务&…

android qml 菜单,QML - ListView项目,用于显示菜单

当用户点击项目时&#xff0c;我正在寻找关于在列表项目下显示菜单的一些提示和指示 .如果我有这样的ListModel&#xff1a;ListModel {ListElement {name: "Bill Smith"number: "555 3264"}ListElement {name: "John Brown"number: "555 8…

随笔2

目前三件事 1.去除强迫思维 2.追女生 3.工作 这三件对于我来说都是非常困难的&#xff0c;慢慢的解决&#xff0c;不急&#xff0c;一定要坚持&#xff0c;不管遇到什么困难。。。转载于:https://www.cnblogs.com/zzyoucan/p/4678466.html

python 迭代器、生成器、yield、iter

文章目录1. 迭代器2. 生成器3. 标准库3.1 过滤3.2 映射3.3 合并3.4 排列组合3.5 重新排列4. yield from5. 可迭代的归约函数6. iter 还可以传入2个参数7. 生成器当成协程learn from 《流畅的python》 1. 迭代器 所有生成器都是迭代器&#xff0c;因为生成器完全实现了迭代器接…

java微信学习 接入

现在实习的公司要做微信开发&#xff0c;然而一直没安排任务&#xff0c;所以一直在看微信接口&#xff0c;记录下学习的内容 微信开发肯定要看的就是微信公众平台开发者文档&#xff0c;上面有每种接口的调用格式&#xff0c;刚开始学习的时候自己申请了一个订阅号&#xff0c…

钉钉老版本下载3.31_钉钉3.3.1老版本官方下载-钉钉3.3.1旧版本PC版官方版-东坡下载...

钉钉是由阿里巴巴研发的一款办公聊天工具&#xff0c;是新一代的团队沟通模式&#xff0c;该软件内置强大的办公功能&#xff0c;主要功能有传输文件&#xff0c;发送文字、语音、图片等&#xff0c;消息阅读以及外出打卡等功能&#xff0c;在这里为大家提供的是钉钉3.3.1旧版本…

Android 引用模块中的类,解决Android项目中找不到Module中的封装类或引用的第三方类库...

在日常开发中&#xff0c;现在越来越流行模块化开发&#xff0c;这就需要将项目分成不同的Module进行同时开发&#xff0c;最后在app层进行整合调用&#xff0c;但是不少开发人员都因为在build中添加关联代码&#xff0c;而找不到Module中封装的方法或引用的类库。下面就给大家…