Android Monkey自动化测试

monkey一般用于压力测试,用户模拟用户事件

monkey 基本用法

adb shell monkey [参数] [随机事件数]

monkey常用命令

-v:用于指定反馈信息级别,总共分三个等级-v -v -vadb shell mokey -v -v -v 100

-s:用于指定伪随机数生成器的种子 seed 值,如果两次seed值相同,则两次事件顺序也是相同的 adb shell monkey -s 123 100

–throttle <毫秒值>:每个事件结束的间隔时间 adb shell monkey --throttle 500 100

-p:用于约束限制,指定一个或多个包 adb shell monkey -p com.android browser 100

–ignore-crashes:忽略崩溃

–ignore-timeouts:忽略超时

–ignore-security-exceptions:忽略安全异常

–ignore-native-crashes:忽略本地代码导致的异常

–monitor-native-crashes:跟踪本地方法的崩溃问题

monkey 事件选项

–pct-touch <百分比>:触摸事件的百分比

–pct-motion <百分比>:滑动事件的百分比

–pct-appswitch <百分比>:activity 之间切换的百分比

–pct-pinchzoom <百分比>:缩放事件的百分比

–pct-rotation <百分比>:屏幕旋转事件的百分比

–pct-flip <百分比>:键盘事件的百分比

-pct-anyevent <百分比>:任意事件的百分比

注意:以上所有类型事件比例加起来不能超过 100

monkey测试示例

1、确定我们要测试的包名,如果已知包名,可以跳过这一步

手机打开我们要测试的app,然后dos窗口中输入

adb shell "dumpsys window | grep mCurrentFocus"

查看app包名和app当前打开的页面名称

2、确定要测的时间,根据总时长计算出点击的次数

需要跑的时间/命令之间的时间间隔=要执行的次数 86060*1000/300 = 96000

3、日志级别:3 个 v,一般一个v就可以了

4、确定常用的操作类型和比例:滑动、触摸、键盘、系统按键、activity 切换

5、确定 seed 值:-s 12345

6、确定调试选项:

–ignore-crashes --ignore-timeouts --ignore-security-exceptions

最终得到的指令为

adb shell monkey -p com.demo.test --pct-touch 30 --pct-motion 30 --pct-syskeys 10 --pct-appswitch 20 --pct-flip 5 --pct-anyevent 5 -s 12345 --throttle 300 --ignore-crashes --ignore-timeouts --ignore-security-exceptions -v -v -v 96000

简单指令

adb shell monkey -p com.demo.test -v 1000

停止正在运行的monkey

1、首先打开Dos窗口
2、输入adb shell
3、然后输入ps | grep monkey 查看pid

在这里插入图片描述
4、最后输入kill pid [pid值]
例如第三步查询到的pid为3967,输入 kill pid 3967,即可停止monkey

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

安卓MT管理器v2.15.1

软件介绍 MT管理器是一款强大的文件管理工具和APK逆向修改神器。如果你喜欢它的双窗口操作风格&#xff0c;可以单纯地把它当成文件管理器使用。如果你对修改APK有深厚的兴趣&#xff0c;那么你可以用它做许许多多的事&#xff0c;例如汉化应用、替换资源、修改布局、修改逻辑…

相交链表 - LeetCode 热题 22

大家好&#xff01;我是曾续缘&#x1f4a4; 今天是《LeetCode 热题 100》系列 发车第 22 天 链表第 1 题 ❤️点赞 &#x1f44d; 收藏 ⭐再看&#xff0c;养成习惯 相交链表 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果…

CVE-2021-30517:Type confusion bug in LoadSuperIC

前言 这个漏洞是一个比较老的洞&#xff0c;之所以分析这个漏洞&#xff0c;只要是想再学习一下 ICs 相关的知识。并该漏洞的利用是利用与 String/Function 之间的混淆&#xff0c;比较有意思。 环境搭建 sudo apt install python git checkout 7d5e5f6c62c3f38acee12dc4114…

【蓝桥杯第十四届省赛B】(部分详解)

【01串的熵】 https://www.lanqiao.cn/problems/3498/learning/?subject_code1&group_code4&match_num14&match_flow1&origincup #include <iostream> #include<cmath> using namespace std; int main() {double n23333333;double sum0;for(int…

代码学习记录35

随想录日记part35 t i m e &#xff1a; time&#xff1a; time&#xff1a; 2024.04.03 主要内容&#xff1a;今天开始要学习动态规划的相关知识了&#xff0c;今天的内容主要涉及三个方面&#xff1a; 最后一块石头的重量 II &#xff1b;目标和 &#xff1b;一和零 。 1049…

Linux基础篇:文件系统介绍——根目录下文件夹含义与作用介绍

Linux文件系统介绍——文件夹含义与作用 Linux文件系统是一个组织和管理文件的层次结构。它包括了目录、子目录和文件&#xff0c;这些都是按照一定的规则和标准进行组织的。以下是Linux文件系统的一些关键组成部分&#xff1a; 1./bin&#xff1a; 该目录包含了系统启动和运…

抽象类与接口(3)(接口部分)

❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; hellohello~&#xff0c;大家好&#x1f495;&#x1f495;&#xff0c;这里是E绵绵呀✋✋ &#xff0c;如果觉得这篇文章还不错的话还请点赞❤️❤️收藏&#x1f49e; &#x1f49e; 关注&#x1f4a5;&…

TiDB单机版安装和连接访问

TiDB单机版安装和连接访问 1、下载 $wget http://download.pingcap.org/tidb-latest-linux-amd64.tar.gz 2、解压缩 $tar -zxvf tidb-latest-linux-amd64.tar.gz 3、启动TiDB 启动PD $./bin/pd-server --data-dirpd --log-filepd.log 启动tikv $./bin/tikv-server --pd…

基于深度学习的扑克牌识别软件(网页版+YOLOv8_v7_v6_v5代码+训练数据集)

摘要&#xff1a;本文深入研究了基于YOLOv8/v7/v6/v5的扑克牌识别软件&#xff0c;核心采用YOLOv8并整合了YOLOv7、YOLOv6、YOLOv5算法&#xff0c;进行性能指标对比&#xff1b;详述了国内外研究现状、数据集处理、算法原理、模型构建与训练代码&#xff0c;及基于Streamlit的…

NASA数据集——1983 ——2016 年期间北美森林地点的野外地块特征数据、衍生的地上和地下燃烧碳以及获取的火灾气象指数(FWI)

文件修订日期&#xff1a;2022-05-04 数据集版本: 1 简介 该数据集综合了 1983 年至 2016 年期间美国阿拉斯加、西北地区和加拿大萨斯喀彻温省被烧毁的北方森林地点的野外地块特征数据、衍生的地上和地下燃烧碳以及获取的火灾气象指数&#xff08;FWI&#xff09;系统组件。…

基于 Quartz.NET 可视化任务调度平台 QuartzUI

一、简介 QuartzUI 是基于 Quartz.NET3.0 的定时任务 Web 可视化管理&#xff0c;Docker 打包开箱即用、内置 SQLite 持久化、语言无关、业务代码零污染、支持 RESTful 风格接口、傻瓜式配置、异常请求邮件通知等。 二、部署 QuartzUI 从 2022 年到现在没有提交记录&#xf…

计算机网络:局域网的数据链路层

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

SQLyog连接数据库8.0版本解析错误问题解决方案

问题描述&#xff1a; 解决方案&#xff1a; alter userrootlocalhostidentified with mysql_native_password by 密码; 再次连接就可以了。

Autodesk AutoCAD 2025 (macOS, Windows) - 自动计算机辅助设计软件

Autodesk AutoCAD 2025 (macOS, Windows) - 自动计算机辅助设计软件 AutoCAD 2024 开始原生支持 Apple Silicon&#xff0c;性能提升至 2 倍 请访问原文链接&#xff1a;https://sysin.org/blog/autodesk-autocad/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处…

Express框架搭建项目 node.js

文章目录 引言Express框架介绍express安装环境准备写一个简单的项目展示 文章总结 引言 Express是一个基于Node.js平台的轻量级Web应用框架&#xff0c;它提供了简洁的API和丰富的功能&#xff0c;使得开发者能够快速地构建Web服务器和API。本文将带领大家从零开始&#xff0c…

【初阶数据结构】——leetcode:160. 相交链表

文章目录 1. 题目介绍2. 思路1&#xff1a;暴力求解算法思想代码实现 3. 思路2&#xff1a;快慢指针算法思想代码实现 1. 题目介绍 链接: link 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&…

文件批量重命名管理,一键将图片的名称进行统一重命名,高效管理文件

在数字时代&#xff0c;我们的生活中充满了各种文件&#xff0c;特别是图片文件。随着时间的推移&#xff0c;我们可能会遇到这样的问题&#xff1a;文件命名不规范&#xff0c;难以快速找到需要的图片。这时&#xff0c;一款强大的文件批量重命名管理工具就显得尤为重要。 首…

简约好用的TCPUDP小工具

csdn下载地址&#xff1a; https://download.csdn.net/download/a876106354/89077745

RUST语言流控制语句使用示例

1.判断语句 单条件判断: let mut x128;//声明一个32位整数x512;//修改变量原来的值为新值//如果 ... 否则//判断变量x是否大于256if x>256 {println!("x>256,x{}",x);}else {println!("x<256,x{}",x);}let is_ok:bool true;//rust中不用()if i…

前端三剑客 —— CSS (第三节)

目录 上节回顾&#xff1a; 1.CSS使用有以下几种样式; 2.选择器 1.基本选择器 2.包含选择器 3.属性选择器 [] 4.伪类选择器 &#xff1a; 5.伪元素选择器 ::before :after 3.常见样式的使用 常见样式参考表 一些特殊样式 媒体查询 自定义字体 变换效果 translate&…