Android测试知识总结

常用的ADB命令

1).获取platformVersion(移动操作平台)版本: adb shell getprop ro.build.version.release
2) 获取api版本:adb shell getprop ro.build.version.sdk
3) 获取当前打开的app包名adb shell dumpsys window | findstr mCurrentFocus
4) 获取当前打开的app包名: adb shell “dumpsys window | grep mCurrentFocus”
5) 查看内存: adb shell dumpsys meminfo com.motorola.camera3
6)获取设备序列号(udid):adb get-serialno
7)获取计算机连接的设备列表和设备状态:adb devices
8)查看版本信息:adb version
9)重启设备:adb reboot
10)关闭adb服务:adb kill-server
11)启动adb服务:adb start-server
12)连接设备:adb connect + IP
13)断开设备:adb disconnect + IP
14查看屏幕分辨率:adb shell wm size
15)卸载apk:adb uninstall +包名(例如:adb uninstall com.motorola.cn.gallery
16)安装apk:adb install +包名路径(这里也可以直接找到本地文件拖进去)
adb install D:\Download\Gallery\apk\Gallery2-v6.0.13-release.apk

adb install -r 替换已存在的应用程序,也就是说强制安装
adb install -l 锁定该应用程序
adb install -t 允许测试包
adb install -s 把应用程序安装到sd卡上
adb install -d 允许进行将见状,也就是安装的比手机上带的版本低
adb install -g 为应用程序授予所有运行时的权限
adb install -r -d -t D:\Download\Gallery\apk\Gallery2-v6.0.4.81.0-signed.apk
17)获取root权限(为了让adb 具备更高的权限):adb root
18)进入Android设备的shell环境:adb shell
19)进入手机里面的文件夹:cd sdcard
20)连接多台手机:adb -s (udid)
21) 清除应用数据与缓存:adb shell pm clear
22) 查看正在运行的 Services命令:adb shell dumpsys activity services []
23) 查看应用详细信息命令:adb shell dumpsys package
24) 发送广播,命令格式:adb shell am broadcast [options]
25)导出文件到本地:adb pull 要导出的文件路径 导出文件所要存储的路径
例如:adb -s NV0A2A0235 pull /data/vendor/aplogd D:/Work/log/aplogd_NV0A2A0235.txt
生成ANR文件:adb -s NQER0D0122 pull /data/anr D:/Work/log/
提示权限不够的话:adb root
退出:exit
26)从本地导入文件adb push 本地文件路径 要导入到设备里的文件路径
adb push C:\Users\zihangwang1\Pictures\Camera /sdcard/DCIM/
adb push C:\Users\zihangwang1\Pictures\Gallery /sdcard/DCIM/

27)adb shell pm clear 包名:清除应用缓存
28)屏幕截图:adb shell screencap -p /sdcard/sc.png
29)屏幕录制:adb shell screenrecord /sdcard/filename.mp4
30)屏幕录制默认时长是180秒,设置录制时长: adb shell screenrecord /sdcard/demo.mp4 --time-limit 60
31)停止录制视频:adb shell am broadcast -a com.android.server.scrcmd.stoprecord
32)列出所有包名 adb shell pm list packages
-f:列出所有apk路径及包名
-s:列出系统apk路径及包名
-3:列出用户apk路径及包名
33)导出内存
adb shell
ps -e | grep gallery
am dumpheap pid (查出的数字)

ADB日志命令

1)查看日志:adb logcat
2)清除之前的日志信息:adb logcat -c
3)显示所有优先级大于等于Error的日志:adb logcat -v time *:E
4)adb logcat -b events -b radio -b main -b system -b crash -v threadtime > log.txt
【详解】
01.首先讲一下“-b”, events就是抓取手机的操作事件,做了哪些操作; radio主要是和modem相关的,关于通话,短信,网络的bug需要带上radio;main和system都是android的系统log,crash是手机发生crash时产生的日志。
02."-v time"会打印出日志的时间,如果不加就不会显示时间
5)导出文件到本地:adb pull 要导出的文件路径 导出文件所要存储的路径
例如:adb -s NV0A2A0235 pull /data/vendor/aplogd D:/Work/log/aplogd_NV0A2A0235.txt
生成ANR文件:adb -s NQER0D0122 pull /data/anr D:/Work/log/
提示权限不够的话:adb root
退出:exit
6)从本地导入文件adb push 本地文件路径 要导入到设备里的文件路径
adb push C:\Users\zihangwang1\Pictures\图库 /sdcard/Pictures
adb push C:\Users\zihangwang1\Pictures\图库 /sdcard/DCIM/
7)日志的优先级一般有如下几档,由低到高:

  1. VERBOSE,一般信息,输出为颜色为黑色且日志级别大于等于VERBOSE的信息
  2. DEBUG,调试信息,蓝色
  3. INFO,标识信息,绿色
  4. WARN,警告信息,橙色且
  5. ERROR,错误信息,红色
  6. F —— Fatal 致命
  7. S —— Silent(最高,啥也不输出)

ADB刷机命令

a) 输入adb devices检查是否连接手机或平板成功,如果成功连接会提示一串数字
b 输入adb reboot bootloader指令,把手机或平板电脑重启到Bootloader介面
c) 输入fastboot devices指令,如果成功连接会提示一串数字,表示电脑成功连接到裝置的Fastboot模式了
e)fastboot -w 清除手机中所有数据
f)fastboot erase misc
j)运行flashall.bat
h) fastboot reboot 退出刷机模式并重启手机

ADB命令 模拟点击、滑动、输入、按键

//模拟输入“001”
adb shell input text “001”
//模拟home按键
adb shell input keyevent 3
//模拟点击(540, 1104)坐标
adb shell input tap 540 1104
//模拟滑动,从(250,250)滑动到(300,300)
adb shell input swipe 250 250 300 300

启动app

命令行输入 adb shell am start +包名/.Activity (要启动的Activity)
adb shell am start com.motorola.camera3/com.motorola.camera.Camera 启动相机
1、启动一个 Activity:
adb shell am start -n activityname 启动一个 Activity
2、等待页面启动完成:
adb shell am start -W activityname 等待页面启动完成
3、先停止应用再启动
adb shell am start -S activityname 先停止应用再启动
adb shell am start -S -W -n com.motorola.camera3/com.motorola.camera.Camera

关闭App

cmd命令行中执行 adb shell am force-stop app包名
例如:adb shell am force-stop com.motorola.camera3关闭系统设置;
cmd命令行中执行 adb shell pm clear app包名
例如adb shell pm clear app com.motorola.camera3关闭系统设置

Monkey测试

adb shell monkey -v --throttle 200 -s 654321 --ignore-security-exceptions -p com.motorola.camera3 400000 > D:\ProgramData\Monkeylog\1.txt
1、-v参数:用于指定反馈信息级别(信息级别就是日志的详细程度)总共分为3级,默认为-v(对应:level0)
-v:只提供启动提示、测试完成提示和最终结果等少量信息。
-v -v:较为详细的日志,包括每个发送到activity的时间信息。
-v -v -v:最详细的日志,包括测试中选中/未选中的activity信息。
2、–throttle参数:设置执行操作的延迟时间(毫秒)–是指两个事件之间的间隔,如果没有指定此参数,会尽可能快的生成和发送事件。
3、-s 表示伪随机数生成的seed值,如果seed值相同,则两次monkey所产生的事件序列也是一样的
示例:
Monkey测试1:adb shell monkey -p com.swartz.cicada –s 10 100
Monkey 测试2:adb shell monkey -p com.swartz.cicada –s 10 100
两次测试的效果是相同的,因为模拟的用户操作序列(每次操作按照一定的先后顺序所组成的一系列操作,即一个序列)是一样的。操作序列虽然是随机生成的,但是只要我们指定了相同的Seed值,就可以保证两次测试产生的随机操作序列是完全相同的,所以这个操作序列伪随机的;
4、-p参数:在我们测试时,是针对具体的app进行测试的,所以在使用monkey测试时,我们需要提供具体的app包名给monkey,此时就需要用到参数-p。在-p后跟随app包名。
在测试时,可以不指定包名,此时monkey会在测试设备上随机启动app进行操作;如果只需要测试一个app,使用一个-p即可;如果有多个app同时测试,可以直接使用-p 包名1 -p 包名2指定具体要测试的app。

(二)调试选项
1、–ignore-crashes
用于指定当应用程序崩溃时,Monkey是否停止运行。如果使用此参数,即使应用程序崩溃,monkey依然会发送事件,直到事件计数完成。
2、—ignore-timeouts
用于指定当应用程序发生ANR(Application No Responding)错误时,Monkey是否停止运行。如果使用此参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成。
3、–ignore-security-exceptionss
用于指定当应用程序发生许可错误时(如证书许可,网络许可等),Monkey是否停止运行。如果使用此参数,即使应用程序发生许可错误,Monkey依然会发送事件,直到事件计数完成。
4、–kill-process-after-error
用于指定当应用程序发生错误时,是否停止其运行。如果指定此参数,当应用程序发生错误时,应用程序停止运行并保持在当前状态(注意:应用程序仅是静止在发生错误时的状态,系统并不会结束该应用程序的进程)。
5、–monitor-native-crashes
用于指定是否监视并报告应用程序发生崩溃的本地代码
6、–hprof
该选项设置后,将会在monkey事件序列前后立刻生成report,大小为大于5MB,存储在/data/misc

卸载相关问题(Appium)

appium settings 版本不对应需要卸载重装

adb uninstall io.appium.uiautomator2.server
adb uninstall io.appium.uiautomator2.server.test
adb uninstall io.appium.settings
开发者模式 USB调试打开

使用adb命令uninstall卸载不掉手机上的apk时,可以卸载内置app路径
adb uninstall + 包名
Failure [DELETE_FAILED_INTERNAL_ERROR]
直接使用adb uninstall命令不能直接卸载apk,显示卸载失败,接下来就可以使用卸载内置app路径的命令去尝试一下。

1、adb root (开启root权限)
2、

adb remount (将/system下的内容变成可写可修改)

3、adb shell (进入手机系统,如果是root成功,则会从$符号变为#)
4、pm list package (查看包名)
5、pm path +包名 (会得到/system/app/xxx.apk)
6、cd /system/app (进入得到的apk)
7、rm -rf xxx.apk (彻底删除系统下的apk)
8、ls (查看是否删除成功apk)
9、reboot (重启真机)

日志缓冲区问题

adb logcat -G 5M 设置日志缓冲区的大小

连接外网

Privacy Use device MAC

刷机问题黑屏解决

在这里插入图片描述

RAW和JPG的区别

RAW是未经修正的原始数据,JPG是根据厂商的风格、拍摄者的设置等进行了修饰的图片格式。如果后期比较熟悉,可用RAW格式,这样通过后期可在原始数据的基础上根据自己的喜好出更具自己风格的JPG或其他格式的图片

其他

adb shell input keyevent 3 # HOME 键
adb shell input keyevent 4 # 返回键

adb shell input keyevent 5 # 拨号
adb shell input keyevent 6 # 挂断
adb shell input keyevent 24 # 音量+
adb shell input keyevent 25 # 音量-
adb shell input keyevent 26 # 电源键
adb shell input keyevent 27 # 拍照
adb shell input keyevent 64 # 打开浏览器
adb shell input keyevent 82 # 菜单键
adb shell input keyevent 85 # 播放/暂停
adb shell input keyevent 86 # 停止播放
adb shell input keyevent 87 # 播放下一首
adb shell input keyevent 88 # 播放上一首
adb shell input keyevent 122 #移动光标到行首或列表顶部
adb shell input keyevent 123 #移动光标到行尾或列表底部
adb shell input keyevent 126 # 恢复播放
adb shell input keyevent 127 # 暂停播放
adb shell input keyevent 164 # 静音
adb shell input keyevent 176 # 打开系统设置
adb shell input keyevent 187 # 切换应用
adb shell input keyevent 207 # 打开联系人
adb shell input keyevent 208 # 打开日历
adb shell input keyevent 209 # 打开音乐
adb shell input keyevent 210 # 打开计算器
adb shell input keyevent 220 # 降低屏幕亮度
adb shell input keyevent 221 # 提高屏幕亮度
adb shell input keyevent 223 # 休眠
adb shell input keyevent 224 # 点亮屏幕
adb shell input keyevent 231 # 打开语音助手
adb shell input keyevent 276 # 如果没有 wakelock 则让系统休眠

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值