当前位置: 首页 > news >正文

软件测试-APP自动化-测试学习笔记-精华版-知识要点总结,ADB知识要点总结

计算机如何和手机联系?

计算机通过安卓调试桥(ADB)进行联系,常用于APP的调试,使用monkey命令,测试APP的稳定性。

什么是命令?

输入特定的指令(单词或词组),向计算机发送特定的命令,使得计算机实现某种功能或效果。在windwos的环境下,例如,dir、md、cd、del等。
理解命令行:Mac有终端,Windows有cmd
综上所述,adb是一个和手机沟通的命令工具。常用的命令不需要全部记住,经常用即可记住它的用法。

adb常用命令

ADB操作多台设备
1、adb devices查看所有连接设备。
2、adb -s <设备名> shell指定device来执行adb shell。
3、adb -s <设备名> <指令>在指定设备执行指令。
开启或者关闭服务
adb start-server:开启adb服务
adb kill-server:关掉adb服务
adb devices : 查看电脑是否连接设备
adb devices或者adb devices -l
1、列出安装在设备上的应用
# adb shell pm list package -s 列出系统应用
# adb shell pm list package -3 列出第三方的应用
# adb shell pm list package -i 列出来源
# adb shell pm list package -f 列出包名和路径
2、列出应用apk的位置
# adb shell pm path packagename 列出应用apk的位置
3、列出应用的详细信息
# adb shell pm dump packagename 列出应用相关的信息
4、清除应用的缓存数据
# adb shell pm clear packagename 清除应用的缓存数据
5、安装卸载手机应用:
首先将test.apk文件push到手机目录中比如/data/local/tmp
# adb shell pm install /data/local/tmp/test.apk 安装
# adb shell pm install –r /data/local/tmp/test.apk 重新安装
# adb shell pm uninstall -k packagename 卸载,加k保留缓存数据
# adb shell pm install -d apk 允许降级安装

adb shell am基本的命令

1、启动一个 Activity:
# adb shell am start -n activityname 启动一个 Activity
2、等待页面启动完成:
# adb shell am start -W activityname 等待页面启动完成
3、先停止应用再启动:
# adb shell am start -S activityname 先停止应用再启动
4、结束应用:
# am force-stop packagename 结束应用

adb shell dumpsys基本的命令

# adb shell dumpsys cpuinfo cpu信息
# adb shell dumpsys meminfo 内存信息
# adb shell dumpsys power 电源信息
# adb shell dumpsys battery 电池信息
# adb shell dumpsys wifi wifi信息
# adb shell dumpsys notification 通知信息
# adb shell dumpsys activity 获取页面信息

系统操作指令

adb shell getprop ro.product.model 获取设备型号
adb shell getprop ro.build.version.release 获取设备 Android 系统版本
adb get-serialno 获取设备的序列号(设备号)
adb shell wm size 获取设备屏幕分辨率
adb shell dumpsys activity |find "mFocusedActivity" 查看前台应用包名,适用于 Android 7.0 以下,
必须先启动 app
adb shell dumpsys activity |find "mResumedActivity" 查看前台应用包名,适用于 Android 8.0 以上,
必须先启动 app

生成当前页面的xml文本

# adb shell uiautomator dump [file] 获取当前页面的xml信息
text 控件中显示的文本内容
class 控件的类型
package 包名
content-desc 说明
checkable 是否允许check 
checked check状态
clickable 是否允许click 
enabled 控件状态
focusable 是否允许获取焦点
focused 是否获取到焦点
scrollable 是否允许滚动
long-clickable 是否允许长安
password 是否是密码控件
selected select状态
bounds 控件绘制的长宽及位置 四个数据,分成两组,分别是 左上坐标和右下坐标

截图命令

# adb shell screencap -p /sdcard/screen.png 截图并保存到指定位置

input命令

adb shell input:
<可选参数>
#text 输入文本
#keyevent 输入事件
#tap 点击
#swipe 滑动<坐标><坐标为原地,则是长按>
九、关于获取当前页面的信息:
# adb shell dumpsys activity top | findstr ACTIVITY 获取当前界面的Activity
# adb shell dumpsys activity | findstr mFocusedActivity 获取当前页面的activity

相关文章:

  • 面试题之项目做过哪些性能优化可以从哪方面说?
  • 人工智能时代
  • Kafka下载(kafka和jdk、zookeeper、SpringBoot的版本对应关系)
  • SpringUtils 工具类,方便在非spring管理环境中获取bean
  • Ubuntu Desktop 开机数字小键盘
  • ChatGPT高效提问—prompt常见用法(续篇九)
  • 讲解用Python处理Excel表格
  • ctfshow-文件上传(web151-web161)
  • 【双指针】:Leetcode611.有效三角形的个数
  • mysql 执行update操作 记录未修改
  • 【Linux系统化学习】文件重定向
  • 每日一题 力扣107 二叉树的层序遍历Ⅱ
  • 使用Autodl云服务器或其他远程机实现在本地部署知识图谱数据库Neo4j
  • WebStorm | 如何修改webstorm中新建html文件默认生成模板中title的初始值
  • 飞天使-k8s知识点20-kubernetes实操5-pod更新与暂停-statefulset
  • 【Leetcode】101. 对称二叉树
  • 【笔记】你不知道的JS读书笔记——Promise
  • Android开源项目规范总结
  • Apache Pulsar 2.1 重磅发布
  • egg(89)--egg之redis的发布和订阅
  • JavaScript-Array类型
  • jquery cookie
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • 大快搜索数据爬虫技术实例安装教学篇
  • 复杂数据处理
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 聊聊flink的BlobWriter
  • 如何合理的规划jvm性能调优
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 如何胜任知名企业的商业数据分析师?
  • 实战|智能家居行业移动应用性能分析
  • 我建了一个叫Hello World的项目
  • 06-01 点餐小程序前台界面搭建
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • FaaS 的简单实践
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • 移动端高清、多屏适配方案
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • (06)金属布线——为半导体注入生命的连接
  • (pojstep1.1.2)2654(直叙式模拟)
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (二)pulsar安装在独立的docker中,python测试
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (三)c52学习之旅-点亮LED灯
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (译) 函数式 JS #1:简介
  • (转)Google的Objective-C编码规范
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • .cn根服务器被攻击之后
  • .mysql secret在哪_MYSQL基本操作(上)
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .net 中viewstate的原理和使用