android adb shell and monkey 学习记录
Monkey环境:
android SDK and JDK
SDK目录下的platform-tools和tools目录要配置环境变量
查看版本:
ADB 的安装这里就不多说了,输入以下命令有如下提示就证明你环境ok,否则自行网上搜索解决下。
> adb version
查看连接设备:
输入以下命令可以查询已连接的设备与模拟器:
> adb devices
查看appPackage 和 appActivity:
设备运行程序
> adb logcat > \path\log.txt
log.txt中搜索关键字start proc ,关键字后边可以看到启动的进程appPackage 和 appActivity
安装一个apk,执行以下命令:
> adb install <packagename> #文件名过长、文件名有中文都有可能导致安装失败。
覆盖安装:
> adb install -r /path/demo.apk
直接卸载:
> adb uninstall <packagename>
卸载 app 但保留数据和缓存文件:
> adb uninstall -k <packagename>
Monkey事件类型:
-s <seed> #伪随机数生成器的种子值
--throttle <毫秒数> #在事件之间插入固定延迟
--pct-touch <百分比> #调整触摸事件的百分比
--pct-motion <百分比> #调整动作事件的百分比
--pct-pinchzoom <百分比> #调整二指缩放事件的百分比
--pct-trackball <百分比> #调整轨迹事件的百分比
--pct-rotation <百分比> #调整屏幕旋转事件的百分比
--pct-nav <百分比> #调整‘基本’导航事件的百分比
--pct-majornav <百分比> #调整‘主要’导航事件的百分比
--pct-syskeys <百分比> #调整‘系统’按键事件的百分比
--pct-appswith <百分比> #调整启动Activity的百分比
--pct-flip <百分比> #调整键盘事件的百分比
--pct-anyevent <百分比> #调整其他类型时间的百分比
Monkey约束限制类参数:
-p <包名> #指定一个包或多个包,每个-p只能用于一个包
-c <类别名> #指定一个或几个类别,每个-c只能用于一个类别
命令:
PC启动:
> adb shell monkey [options] <count>
Shell端启动:
> adb shell
> monkey [options] <count>
两者区别是,PC端启动运行日志可以保存到PC上,Shell端启动运行日志保存到手机里。
杀手机Monkey进程:
> adb shell ps |grep monkey #获取packagename的进程ID
> adb shell kill pid
启动/停止 Server
一般来说,下面两个命令基本不会用到,因为只要设备连接正确,会自动启动 adb server 的,不过大家也需要知道这俩命令:
启动 adb server :
> adb start-server
停止 adb server :
> adb kill-server
列出手机装的所有app的包名:
> adb shell pm list packages
列出系统应用的所有包名:
> adb shell pm list packages -s
列出除了系统应用的第三方应用包名:
> adb shell pm list packages -3
使用 grep 来过滤:
> adb shell pm list packages | grep qq
清除应用数据与缓存
> adb shell pm clear <packagename>
强制停止应用
> adb shell am force-stop <packagename>
获取logcat日志信息:
> adb logcat
> adb logcat -d > 路径\文件名.txt #一定时间内的log输出到文件里
获取内存信息:
> adb shell dumpsys meminfo <进程名>
获取CPU消耗信息:
> adb shell top -n 1 |find "进程名"
获取电量信息:
> adb shell dumpsys battery
获取GPU信息:
> adb shell dumpsys gfxinfo <进程名>
查看被测应用的进程ID:
> adb shell ps |grep <packagename>
查看被测应用的用户ID:
> adb shell cat /proc/$pid/status
获取流量信息:
> adb shell cat/proc/uid_stat/<被测应用的uid>/tcp_rcv
重启
> adb reboot
获取序列号
> adb get-serialno
获取 MAC 地址
> adb shell cat /sys/class/net/wlan0/address
查看设备型号
> adb shell getprop ro.product.model
查看 Android 系统版本
> adb shell getprop ro.build.version.release
查看屏幕分辨率
> adb shell wm size
查看屏幕密度
> adb shell wm density
Monkey日志保存到PC中:
> adb shell monkey [option] <count> >d:\monkey.txt
Monkey日志保存到手机:
> adb shell
>monkey [option] <count> > /mnt/sdcard/monkey.txt
Monkey日志标注流与错误流分开保存:
> monkey [option] <count> 1>/sdcard/monkey.txt 2>/sdcard/error.txt
上传脚本和jar包到手机:
> adb push Monkey.jar /data
> adb push monkey /data
> adb shell chmod777 /data/monkey
------------------------------------------------------------------------------------------------
本文参考《腾讯android自动化测试实战》以此向各位大神致敬!
android adb shell and monkey 学习记录的更多相关文章
- Android adb shell am 命令学习(1)
am:activity manager 启动Activity,打开或关闭进程,发送广播等操作 为什么学习: 主要应用部分,后台启动对应的package的Activity adb shell am st ...
- Android studio测试软件——Monkey学习及运用
Android studio测试软件——Monkey学习及运用 在第十五周的个人博客上,王老师安排我们根据最终的团队大作业所用的软件(Android studio)进行软件测试的介绍,而我选择的是基于 ...
- Android开发技术周报182学习记录
Android开发技术周报182学习记录 教程 App安全二三事 记录 为什么要安全 App的移动安全主要包括下面几种: 密钥破解,导致本地加密数据被盗取. 通信密钥破解,导致接口数据被盗取. 伪造接 ...
- Android开发技术周报176学习记录
Android开发技术周报176学习记录 教程 当 OkHttp 遇上 Http 2.0 http://fucknmb.com/2018/04/16/%E5%BD%93OkHttp%E9%81%87% ...
- Android开发技术周报183学习记录
Android开发技术周报183学习记录 教程 Android性能优化来龙去脉总结 记录 一.性能问题常见 内存泄漏.频繁GC.耗电问题.OOM问题. 二.导致性能问题的原因 1.人为在ui线程中做了 ...
- Android adb shell data目录,Permission denied
Android adb shell进入data目录,Permission denied 权限被拒绝 在shell里面输入su root,去申请root权限,注意:有小部分手机是需要点击授权,再次执行c ...
- Android adb shell命令大全
1. 显示系统中全部Android平台: android list targets 2. 显示系统中全部AVD(模拟器): android list avd 3. 创建AVD(模拟器): androi ...
- android adb shell 命令大全
1. 显示系统中全部Android平台: android list targets 2. 显示系统中全部AVD(模拟器): android list avd 3. 创建AVD(模拟器): androi ...
- 【安卓手机通用】android adb shell 命令大全
浏览:3116 | 更新:2013-10-17 17:05 | 标签:安卓 android 一.[什么是shell] Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口.它是命 ...
随机推荐
- POJ 1321 棋盘问题(DFS板子题,简单搜索练习)
棋盘问题 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 44012 Accepted: 21375 Descriptio ...
- [国嵌攻略][142][LCD驱动程序架构]
LCD裸机驱动回顾 1.LCD初始化 1.1.控制器初始化 1.2.端口初始化 1.3.指明了帧缓冲 2.LCD图形显示 2.1.将图形数据写入帧缓冲 Linux帧缓冲体验 把图片转换成开发板屏对应的 ...
- 10个html5增加的重要新特性和内容
文章开篇之前我们先了解一下什么是html5,百度上是这样定义html5的:万维网的核心语言.标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次重大修改. 其实说白了html5也就是人为定义 ...
- VN问题:error:请求的名称有效,但是找不到请求的类型的
把url中的jmsjms-pc换成IP地址试试看 IP地址你用的是外网地址,应该用局域网内网地址,改成内网地址再试试看 还有练习架设SVN服务器初期尽量用http协议,不要上来就用https协议,ht ...
- android项目红色感叹号
Project --> Clean 清理一下,一般要注意的,如果是你的项目文件有错误,特别是xml文件,清理后那个R资源文件会不见的,那就需要你把错误修正后自动生成的.
- git学习网址
git的学习网址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/
- 关于win10企业版1607累积更新(KB4013429)安装失败后,个人的解决办法
最近连续一个多星期更新(1607-KB4013429)失败,更抓狂的是windows不厌其烦的,不断下载,不断更新,导致每天打开电脑都要等个十几分钟,看来不解决是不行了. 网上一查,有各种解决版本 1 ...
- Linux网络设备驱动架构
Linux网络设备驱动程序体系结构分为四层:网络协议接口层.网络设备接口层.提供实际功能的设备驱动层以及网络设备与媒介层. (1)网络协议接口层向网络层协议提供统一的数据包收发接口,不论上层协议是AR ...
- python_如何对字典进行排序?
案例: 某班英语成绩以字典的形式存储为: {'lili':78, 'jin':50, 'liming': 30, ......} 依据成绩高低,进行学生成绩排名 如何对字典排序? 方法1: #!/us ...
- .net Core学习笔记1 创建简单的 .net core项目
1.打开vs2017>Web 1:创建实体类: namespace ProductMvc.Models { //商品类型 public class ProductType { public in ...