移动端测试辅助工具 - adb-世界时讯


(资料图)

1. 概念

adb(android debug bridge)是android提供的基于CS架构的命令行调试工具,使PC与安卓设备之间实现通信2. 基础原理:  交互图:      

主要由三部分组成:    adb client: 运行在PC端,发送adb命令,就相当于新建了客户端    adb server: 运行在PC端,默认绑定本地TCP端口5037,一方面监听来自客户端的命令,另一方面识别并链接安卓设备实现与daemon之间的通信    adb daemon: 运行在android设备端的守护进程,执行来自client发来的adb命令,完成对设备的操作3. 常用命令:  dumpsys指令:获取服务信息与系统诊断    # 获取当前app的包名和Activity(页面名称)    <1> 点击进入该app    <2> 执行adb shell dumpsys window | findstr mCurrentFocus    adb shell dumpsys cpuinfo# 查看系统cpu使用情况    adb shell dumpsys meminfo# 查看系统内存使用情况    adb shell dumpsys battery# 查看系统电池使用情况  pm指令(packages manager):获取android设备上的应用信息    adb shell pm list packages#列出所有的应用    adb shell pm list packages -3#列出所有的第三方应用    adb shell pm list packages instrumentation#列出所有的测试应用 (Android的官方测试框架是instrumentation)    adbshell pm list packages | findstr xxx#列出所有包含关键字xxx的应用包名  am指令(activity manager): 活动管理    adb shell am start -n 包名/activity名#打开指定应用的指定页面    adb shell am force-stop 包名 #停止应用  input指令:模拟用户行为操作    adb shell input keyevent {keycode}#执行keyevent事件, keycode较多参考官方:https://developer.android.com/reference/android/view/KeyEvent    adb shell input tab x y#点击指定坐标(x,y)    adb shell input swip x1 y1 x2 y2#从(x1,y1)滑动到(x2,y2)  安卓设备与电脑文件传输指令:    path1:文件在Android设备上的路径    path2: 文件在PC本地的路径    adb pull path1 path2#从Android设备中导出文件到PC端    adb push path2 path1#将PC上的文件导入android设备中  monkey指令(稳定性测试):    (1) Monkey程序由Android系统自带的java程序, 在Android文件系统中的存放路径是:/system/framework/monkey.jar    (2) Monkey.jar 程序是由一个名为 “monkey” 的Shell脚本来启动执行,shell脚本在 Android 文件系统中的存放路径是:/system/bin/monkey    (3) 触发指令: adb shell monkey {+参数}, 范例如下:

I. adb shell monkey 100 随机测试100次    II. adb shell monkey -p 包名 100 指定执行软件100次    III. adb shell monkey -p com.jd.jrapp --ignore-crashes --ignore-timeouts --ignore-security-exceptions -s 100 --throttle 300 -v -v -v 1000 > ./monkey_log.txt

参数说明:          -v 默认级别,仅提供启动、测试完成和最终结果等少量信息          -v -v 提供较为详细的日志,包括每个发送到Activity的事件信息          -v -v -v 提供最详细的日志,包括了测试中选中/未选中的Activity信息          -s 用于指定伪随机数生成器的seed值           --throttle 用于指定用户事件的操作间隔时延,单位是毫秒          --ignore-timeouts 忽略超时错误          --ignore-crashes 忽略crash          --ignore-security-exceptions忽略许可错误  注意:命令中的findstr和grep作用相同均是过滤  区别:findstr用于windows环境命令行,grep用于linux环境命令行 (执行adb shell之后就进入了设备的安卓内核,即linux环境) 4. 安卓常见问题:  ANR: 系统无响应      可能原因:数据量太大,导致前端页面各种计算超时      日志获取:data/anr  crash: 闪退      可能原因:内存不足,版本不兼容等      日志获取:adb logcat -c# 先清理一下日志            adb logcat -b crash >error.txt # 再操作闪退步骤后,输出干净的闪退日志

关键词:

    为你推荐

    华夏基金旗下500成长ETF正式上市 发行规模2.54亿元

    2022年8月5日,1只新ETF正式上市,为华夏基金旗下的500成长ETF(159620),发行规模2 54亿元,截至13:20,500成长ETF上涨0 3%,成交额1 17亿

    来源:资本邦 22-08-05

    广西410个招商引资重点项目开工 总投资2096亿元!

    7月7日,记者从自治区投资促进局获悉,我区以项目开工为抓手,强化招商引资项目落地导向,截至6月底,全区二季度410个招商引资重点项目开工

    来源:广西日报 22-07-08

    协鑫新能源:拟9037.98万元出售7座光伏电站

    3月16日,协鑫新能源发布公告称,公司间接附属苏州协鑫新能源及苏州协鑫开发(作为卖方)、江苏和盛(作为买方)于2022年3月16日与该等目标公司

    来源:国际能源网 22-03-18

    三峡能源河曲100MW光伏+储能发电EPC项目中标候选人公示

    3月16日,三峡能源河曲100MW光伏+储能发电项目光伏场区工程EPC总承包中标候选人公示。中标候选人第1名:中国能源建设集团山西电力建设第一

    来源:国际能源网 22-03-18

    因地制宜利用光伏 四川成都市近零碳排放区试点建设工作方案发布

    3月14日,成都市生态环境局等7部门发布成都市近零碳排放区试点建设工作方案,方案指出,到2025年,力争建成近零碳园区、工业企业、公共机构

    来源:国际能源网 22-03-18
    返回顶部