adb monkey
常用adb命令及monkey命令详解
测试
基于这篇文章,给大家再深入一下。
一、常用adb命令
1、adb devices:查看已连接的设备
2、adb version:查看adb的版本序列号
3、adb -s <设备名字>:指定某设备做什么(设备名字用1的方法可以查看)
4、adb install <安装包.apk>:安装应用(写清楚apk的完整路径)adb -s <设备名字> install <安装包.apk>:指定设备安装应用
5、adb shell:通过远程shell命令来控制模拟器/设备
6、exit:退出shell远程连接,回到原路径。(Ctrl+d,退出shell,回到默认路径)
7、adb pull <设备端路径> <pc端路径>:将指定的文件从设备/模拟器上拷贝到pc端(后面的pc端路径可以不指定,默认存储在当前路径下)。例: adb pull /sdcard/log.txt c:/monkey
8、adb push <pc端路径> <设备端路径>:将指定的文件从pc端拷贝到设备/模拟器上
9、adb shell pm list packages:列出电脑端所有apk的包名
10、adb logcat:查看pc端的日志输出。adb shell界面只需输入logcat,查看设备端日志输出(退出Ctrl+c)
二、Monkey命令扩展
1、最简单的monkey执行语句:(adb shell)monkey –p com.jianjiexuan.na –v 500 (对com.jianjiexuan.na 这个程序包单独进行一次500次的monkey测试)
名词解释:-p:用于约束限制,用此参数指定一个或多个包。指定包之后,Monkey将只允许系统启动指定的APP。如果不指定包,Monkey将允许系统启动设备中的所有APP。指定多个包:monkey -p –p -p -v 500-v:用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应的参数如下表所示:
日志级别 Level 0
例 monkey –p com.jianjiexuan.na –v 500说明:缺省值,仅提供启动提示、测试完成和最终结果等少量信息
日志级别 Level 1
例 monkey –p com.jianjiexuan.na –v -v 500说明:提供较为详细的日志,包括每个发送到Activity的事件信息
日志级别 Level 2
例 monkey –p com.jianjiexuan.na –v -v -v 500
说明:最详细的日志,包括了测试中选中/未选中的Activity信息
2、延时及固定序列(adb shell)monkey -s 100 -p com.jianjiexuan.na – -throttle 1000 -v 500 (每次执行一次有效的事件后休眠1000毫秒)(adb shell)monkey -p com.jianjiexuan.na – -throttle 1000 – -randomize-throttle -v 500 (每次执行一次有效事件后随机延时0-200毫秒)名词解释:-s:用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。出现问题下次可以重复同样的系列进行排错。–throttle:固定延时,用于指定用户操作(即事件)间的时延,单位是毫秒;–randomize-throttle:随机延时,用于指定用户操作(即事件)间的时延,单位是毫秒。
3、保存monkey运行结果1)保存在PC中adb shell monkey –p com.jianjiexuan.na –v 500 > d:\monkey\log.txt 2)保存在手机中手机端进入shell模式:adb shell monkey –p com.jianjiexuan.na –v 500 > /mnt/sdcard/monkey/log.txt
4、monkey事件百分比的调整(adb shell)monkey -p com.jianjiexuan.na -v – -pct-anyevent 100 500指定多个类型事件的百分比:monkey -p com.jianjiexuan.na -v –pct-anyevent 50 –pct-appswitch 20 500
名词解释:–pct-****:
设置某个事件的百分比。后面接数字(0-100),100即100%的概率执行该事件注意:各事件类型的百分比总数不能超过100%。如果不进行设置则显示默认百分比。
5、正在运行的monkey如何终止如在命令窗口端直接打印结果,想要停止monkey的运行,那么就再打开一个cmd命令窗口查看monkey的进程:adb shell ps | find “monkey”kill掉该进程就可以adb shell kill + 进程编号 ,即adb shell kill 5182 关于其他的细化的。
二、monkey常用命令参数说明
基本参数 | 说明 |
---|---|
-p <allowed-package-name> | 指定一个或多个包 |
-s <seed> | 指定一个随机数生成器的seed值 |
--throttle <milliseconds> | 指定事件之间的固定延迟(ms) |
-v | 指定反馈信息级别(信息级别就是日志的详细程度) |
-c <main-category> | 指定一个或多个类别名 |
-f <scriptfile> | 运行指定的monkey脚本 |
事件参数 | 说明 |
---|---|
--pct-touch <percent> | 指定触摸事件百分比 |
--pct-motion <percent> | 指定动作事件百分比 |
--pct-trackball <percent> | 指定轨迹事件百分比 |
--pct-syskeys <percent> | 指定系统按键事件百分比 |
--pct-nav <percent> | 指定基本导航事件百分比 |
--pct-majornav <percent> | 指定主要导航事件百分比 |
--pct-appswitch <percent> | 指定应用启动事件百分比 |
--pct-flip <percent> | 指定flip(弹)事件的百分比 |
--pct-anyevent <percent> | 指定其他类型事件百分比 |
--pct-pinchzoom <percent> | 指定缩放(捏)事件百分比 |
--pct-permission <percent> | 指定 |
调试参数 | 说明 |
---|---|
--ignore-crashes | 忽略因崩溃或异常引起的停止运行 |
--ignore-timeouts | 忽略应用发生超时错误(ANR) |
--ignore-security-exceptions | 忽略应用发生任何权限错误 |
--monitor-native-crashes | 监视并报告monkey运行时native code的崩溃事件 |
--ignore-native-crashes | 忽略因native code的崩溃事件 |
--kill-process-after-error | 在应用出错后通知系统杀死发生错误的进程 |
--hprof | 在事件序列前后立即生成profilfing report |
--dbg-no-events | 监视应用程序所调用的包之间的转换 |
--wait-dbg | 暂停执行中的monkey,直到有调试器与它连接 |
三、对小米商城APP跑monkey及其说明
adb shell monkey -p com.xiaomi.sc -v -v -v --throttle 200 -s 1 --ignore-crashes --ignore-timeouts --ignore-native-crashes --pct-touch 30 100000 2>/Users/admin/Desktop/error.txt 1>/Users/admin/Desktop/info.txt
对上面命令的描述.png
adb shell monkey -p com.xiaomi.sc -s 2333 --pct-touch 70 --pct-motion 30 --ignore-crashes --ignore-timeouts --monitor-native-crashes --throttle 200 -v -v 500000 >/Users/admin/Desktop/monkey0903.txt
--pct-touch 70 --pct-motion 30
这两个命令是后面增加的,一个代表点击,一个代表滑动,两个加起来是100,代表不会进行其他事件操作,如轨迹事件,导航事件等等,指定这两种操作后,就极大的降低了monkey点到被测app外面的概率(触发到音量键等系统按键)
在执行向下滑动的命令时,打开了通知栏,然后又开始了瞎点的操作。这时可在执行monkey命令之前,先执行禁用通知栏的命令
adb shell settings put global policy_control immersive.full=*
解禁命令:adb shell settings put global policy_control null
adb monkey相关推荐
- 无埋点数据收集和adb monkey测试屏蔽通知栏
简单记录百度移动统计android无埋点sdk使用和monkey测试屏蔽通知栏的问题 1.无埋点sdk使用 很简单,下载完sdk后导入到项目中 , 参考sdk文档进行就可以了,个人觉得比友盟还简单,几 ...
- Android Monkey测试入门(摘)
Monkey是一款通过命令行来对我们APP进行测试的工具,可以运行在模拟器里或真机上.它向系统发送伪随机的用户事件流,实现对正应用程序进行压力测试. 官方介绍 :https://developer.a ...
- 工作中的adb 常用命令
工作中的adb 常用命令 2017年05月08日 10:58:01 yang_zhang_1992 阅读数:2812 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.c ...
- 一篇文章带你入门adb自动化测试
一篇文章带你入门adb自动化测试 前言 一.什么是adb 1.adb的原理的应用场景 2.(adb)Android debug bridge用于调试使用安卓系统的设备 3.adb基本原理 二.adb环 ...
- ADB 的下载和安装
一. adb工具的下载和配置 1. 网上下载安装包并解压,里面有如下文件 2.配置环境变量 将解压后的 adb 文件目录 配置在 path 环境变量中,详细步骤就不描述了,可以百度 3.检测是否安装好 ...
- android 通过adb发送广播
参考博客: https://blog.csdn.net/yelangjueqi/article/details/43231425 通过命令行执行adb shell am broadcast发送广播通知 ...
- 在命令行中通过adb shell am broadcast发送广播通知以及Android的常用adb命令
转载自:http://www.cnblogs.com/622698abc/archive/2013/06/11/3132306.html?utm_source=tuicool 通过命令行执行adb s ...
- monkey命令——压力测试——转载参考03
转载:https://blog.csdn.net/u011649536/article/details/45043781?utm_source=blogxgwz9 简要步骤:adb devices-- ...
- 2022年想成为软件测试工程师,这个学习路线收藏起来
近两年来,自动化测试工程师越来越火了,薪资待遇也快接近开发工程师了. 企业对于自动化测试的需求量也越来越高 什么样的项目适合自动化测试 如上图所示,真正工作中无法全部满足以上条件,所以需要作出权衡,一 ...
最新文章
- putty改oracle数据库密码,用putty远程访问虚拟机linux系统Oracle数据库。
- HDU-4277USACO ORZ深搜+set去重
- 打破你的认知,数字除以 0 一定会崩溃吗?
- Spring Cloud Greenwich 正式发布,Hystrix 即将寿终正寝!
- css 控制li点与文字的距离
- 时间胶囊——给未来的留言板
- 著名开源项目_著名开源项目案例研究
- explain mysql ref_MySQL explain详解
- jar命令成功完成 java -jar 命令却提示“没有主清单属性”!
- c语言编程入门教程for,C语言编程入门教程精 简版.ppt
- Dynamic 365 中创建编码规则
- 综合布线实训室解决方案(转载)
- 阿里云oss文件分片、断点续传上传
- 百度深度学习初级认证——已过
- 使用 JDBC 连接不同版本 DB2 数据库的兼容性问题
- c++ 输出正三角形图形
- java 浏览器设置字体大小_Sass可以在不使用REM的情况下访问浏览器的默认字体大小吗?...
- m4s格式转换mp3_怎么把腾讯缓存的视频转换成MP3格式
- 区块链零知识证明:STARKs, Part II
- 11-散列1 电话聊天狂人 (25分)
热门文章
- 【信号与系统】如何理解公式:r(t)=e(t)﹡h(t)
- 计算机上word译文是啥,在电脑上怎么翻译word文档?
- oracle中merge into using 的用法解析
- 山东大学创新项目实训个人工作日志(十六)
- jsp中id ,name 我的小小认识
- Linux系统中ls命令用法详解
- 编译时提示 Could NOT find OpenSSL 的解决方法
- 记录一次rediscluster 调用lua 脚本, 用于 list 批量获取
- (实验12)单片机,STM32F4学习笔记,代码讲解【OLED显示实验】【正点原子】【原创】
- 智能车图像处理(一)阈值处理