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自动化测试实战》以此向各位大神致敬!

时间: 2025-01-24 09:48:59

android adb shell and monkey 学习记录的相关文章

Android adb shell 显示不正常的解决方法

在学习安卓过程中,准备使用串口,由于权限上,一直获取不到开发板的root权限. 无奈之下,发现windows下cmd中使用 adb shell,进入开发板的shell模式能正常执行chmod 777 tty* 在开发板中(x210 A8内核),安装了超级控制终端都无权执行chmod 777 tty*,真不明白为何windows的adb shell就能执行. 但使用 adb shell带来一些问题 使用过程中,发现ls语句执行后,显示乱码.如图: 网上更种说法都有. 有的说使用 chcp 6500

Android开发技术周报183学习记录

Android开发技术周报183学习记录 教程 Android性能优化来龙去脉总结 记录 一.性能问题常见 内存泄漏.频繁GC.耗电问题.OOM问题. 二.导致性能问题的原因 1.人为在ui线程中做了轻微的耗时操作,导致ui线程卡顿. 2.layout过于复杂,无法在16ms完成渲染.使用RelativeLayout替换LinearLayout,说是可以减少布局层次,然而,现在不再建议使用RelativeLayout,因为ConstraintLayout才是一个更高性能的消灭布局层级的神器.Co

Android adb shell 最佳实践

adb的全称为Android Debug Bridge,Android调试桥.借助这个工具,我们可以管理设备或手机模拟器的状态. adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作. 常用命令 1.显示系统中全部的Android平台: android list targets 2.显示系统中全部的AVD: android list avd 3.显示当前运行的全部模拟器: adb devices 4.进入设备或模拟器的shell: adb shell 5.查看a

Android Adb Shell命令详解(带DOS、Linux命令)

在Android应用程序开发过程中,经常用到adb shell,这里对常规命令做一个简单的总结. 内容包括Dos.Linux.Shell三块(通过查阅书籍及网络资料所得). 1.首先看Windows DOS下的命令 cd——改变当前目录 dir——显示文件夹内容 md——建立子目录 copy——拷贝文件 move——移动文件 del——删除文件 cls——清屏 attrib——显示文件的(文件)属性 2.接下来给出Linux下常规命令 cd——改变当前目录 pwd——查看当前所在目录完整路径 l

android adb shell 命令大全

1. 显示系统中全部Android平台: android list targets 2. 显示系统中全部AVD(模拟器): android list avd 3. 创建AVD(模拟器): android create avd --name 名称 --target 平台编号 4. 启动模拟器: emulator -avd 名称 -sdcard ~/名称.img (-skin 1280x800) 5. 删除AVD(模拟器): android delete avd --name 名称 6. 创建SDC

Android adb shell启动应用程序的方法

在Android中,除了从界面上启动程序之外,还可以从命令行启动程序,使用的是命令行工具am.usage: am [subcommand] [options]    start an Activity: am start [-D]        -D: enable debugging    send a broadcast Intent: am broadcast    start an Instrumentation: am instrument [flags]        -r: pri

【转】Android adb shell操作时出现“ XXX ... Read-only file system”解决办法--不错

原文网址:http://blog.csdn.net/whu_zhangmin/article/details/25364349 手机连接PC后 adb shell su rm -r /system/app/Launcher2.apk 提示:rm failed for /system/app/Launcher2.apk, Read-only file system 解决方法: mount -o remount rw  /system 也就是将/system分区重新挂载为可读写分区 如果操作完后想恢

Android adb shell学习心得(四)

1.awk中的sub sub为替换函数.形式如 sub(/1/,"",$2) 将第二个变量的第一个1替换为空,若将sub替换为gsub.则替换全部的1. 2.awk中的-F 分隔符,默觉得空格 3.awk中的FS,OFS FS为列分隔符,OFS为输出列分隔符.默觉得空格 4.$#:这个程序的參数个数 5.$0:这个程式的运行名字 6.$n:这个程式的第n个參数值.n=1..9 7.$*:这个程式的全部參数,此选项參数可超过9个 8.$$:这个程式的PID(脚本执行的当前进程ID号) 9

android adb shell中使用到的命令

1,Shell 模式下挂载根目录下的目录为可读可写状态,e.g /system/: mount -o remount rw /system/ 这样即可push文件到相应目录中. 2,Shell 模式下查看相应进程的PID,e.g packageName = com.android.phone [email protected]:/# ps|grep com.android.phone 可见com.android.phone进程的PID = 2466,其中命令中的grep为从结果中过滤指定字符串