说明一下,adb可以说是安卓app的调试工具,相当于移动设备跟pc之间连接的桥梁,对于测试来说是非常有用的. 另外,在app自动化中,用到的也很多.可以说是非用不可.
monkey的话现在用到的应该比较少,可以做整机测试和app稳定性测试.也可以写一点简单得自动化脚本.
adb
adb 由三部分组成
· 运行在PC端的Client: 可以通过它对Android应用进行安装,卸载,调试.
adb端口号 5037,已经不要下载其他第三方手机助手应用(360手机助手,豌豆荚),以免端口被占用
·运行在PC端的Service: 管理客户端到Android设备上adb后台进程连接
adb 服务启动后,Windows 可以在任务管理器找到adb.exe这个进程
·运行在Android 设备上的adb后台进程
执行 adb shell ps | findstr adbd 可以找到后台进程
adb命令
· adb devices 获取设备列表及设备状态
· adb get-state 获取设备状态
设备状态有3种
device : 设备正常连接
offline : 连接出现异常,设备无响应
unknown : 无连接设备
· adb kill-server 结束adb服务 adb start-server 启动adb服务,
通常两个命令一起用,出现连接异常可尝试重启adb
· adb logcat 打印Android的系统日志
· adb bugreport 打印dumpsys,dumpstate,logcat的输出,用于分析错误
输出比较多,可以重定向到一个文件中
adb bugerport > d:bugerport.log
· adb install 安装应用 覆盖安装使用 -r
如需安装包含中文名包,需对adb进行修改
指定设备安装需要:adb -s devicename install 包名
· adb uninstall 卸载应用, 后面跟的参数书应用包名,不是apk文件名
-k 选项 ,卸载时保存数据和缓存目录
· adb pull 将Android 设备上的文件复制到本地
例如: 复制Sdcard 下的pull.txt 文件到D盘:
adb pull Sdcard/pull.txt D:
如需从命名为rename.txt:
adb pull Adcard/pull.txt D:\rename.txt
主要权限,复制系统权限目录下的文件,需要root
· adb push 推送本地文件至Android设备
例如推送D盘下的push.txt至Sdcard:
adb push d:\push.txt Sdcard/
Sdcard后面斜杠不能少,权限问题同pull命令
· adb root, adb remount 只针对小米开发版手机有用,可以直接获取root权限,
· adb rebort 重启Andrioid设备
bootloader 重启设备,机内fastboot模式,
recovery 重启机内recovery模式
· adb connect 远程连接Android 设备
手机, PC端处于相同网络下,手机root,安装adbWireless
启动软件,接着运行adb connect 192.168.1.102
· adb shell getprop ro.build.version.release 查看设备系统版本
· adb connect 地址:端口 连接虚拟机
adb shell
进入adb shell 后有两种状态 # 代表有root权限,$代表没有
· adb shell pm list package 查看手机安装应用
· adb shell screencap /sdcard/screen.png 屏幕截图
· netstat -ano | findstr “5037” 查找5037端口
taskkill -f -pid *** 释放端口
补充一条自动化时用到的:
1.直接加上app路径
aapt dump badging D:\test\xxx.apk | findstr name
2.先在手机上运行程序
方法一:
adb shell
dumpsys activity | grep mFocusedActivity
方法二:
adb shell dumpsys window w | findstr / | findstr name=
方法三:
adb shell dumpsys window w | findstr mLastOpeningApp
monkey
adb shell monkey
常规类参数
monkey -h 帮助参数
monkey -v -v -v 1000 日志级别参数,一个v为0级,3个v为2级,通常使用一级
事件类参数
adb shell monkey -f 执行指定脚本
adb shell monkey -s 666 100 使用-s,可以指定随机数种子值,复现操作,不指定系统随机生成
adb shell monkey --throttle 3000 100 指定操作间隔时间 毫秒
adb sehll monkey --pct-touch 30 100 调整触摸事件百分比
约束类参数
adb shell monkey -p 包约束 指定启动包名
调试类参数
adb shell monkey --ignore-crashes 应用崩溃时继续执行
adb shell monkey --ignore-timeouts 应用发生错误超时时继续执行
日志管理
adb shell monkey -v -v 100 >D:\monkey.log 把日志打印到电脑中
adb shell 先进入shell命令状态 再: monkey -v -v >/sdcard/monkey.log 把日志打印到设备
标准流和错误流分开保存
adb shell monkey -v -v 100 1>d:monkey.log 2>d:error.log
常用的不多.记录一下,用的时候有迹可循.以后有用到新的会继续补充.