02_adb常用命令|Appium初始化流程解析
adb
android debug bridge 安卓调试桥梁
控制/操作 ⼿机/模拟器
adb常⻅命令
adb version 查看adb版本号
adb help 查看adb帮助⼿册
adb devices显⽰当前所有的链接的设备
adb push PC端⽂件的路径⼿机端⽂件的路径
将PC端本地的⽂件传输到⼿机端
● ⼀般操作的⼿机⽬录是对应的/sdcard -->⼿机内部存储路径
adb pull ⼿机端⽂件的路径PC端⽂件的路径
adb shell 进入到手机的命令行模式->使用linux命令去操作手机了 (推荐)
● root超级管理员
● @标记符,后面一般接主机名
● shamu手机设备名
● /当前路径是跟目录
● #用户类型是管理员还是普通的用户
exit:退出shell模式
adb logcat 查看⼿机端的⽇志信息(包括所有的App)
adb logcat > D:\lemon15\log.txt 使⽤重定向输出到PC端的⽂件当中
adb logcat -v time > D:\lemon15\log2.txt 在每⼀⾏⽇志开头都加了时间的信息
adb kill-server 杀死adb进程
adb start-server 启动adb进程
需要注意:
● 如果你之前有链接上夜神模拟器,adb重启之后断开了链接
● 如果你之前有链接上真机,adb重启之后不会断开连接
adb shell dumpsys activity|find "mFocusedActivity" 查看前台应⽤的包名,类名(⻚⾯的名字)
● 先要将要查询的应⽤运⾏在前台
● 执⾏命令
● Android版本差异
○ Android版本在7.0-
adb shell dumpsys activity | find "mFocusedActivity"
○ Android版本在7.0+
adb shell dumpsys activity | find "mResumedActivity"
adb shell pm list packages 所有的应⽤(包括系统的、⽤⼾第三⽅安装)
● adb shell pm list packages -s 只列出来系统级别的应⽤(不能被卸载的)
● adb shell pm list packages -3 只列出来⽤⼾安装的应⽤(可以被卸载的)
adbshellamstart-W应⽤包名/应⽤的启动⼊⼝
启动测试的App
应⽤包名/应⽤的启动⼊⼝ --> aapt
adb shell input tap x轴坐标 y轴坐标
坐标点击
坐标:⼿机内部存在⼀个坐标系统,⼀般来说坐标系统的原点(0,0)是在屏幕的左上⻆
怎么显⽰坐标:
进⼊到开发者选项->打开指针位置
坐标⽤的⽐较少->会存在适配问题
***********************************
4723 Appium工作端口号
5037 adb端口号
4723端口与8200端口没有冲突
appium作为pc端服务
**************
Appium初始化⽇志分析
这⾥的⽇志做的事情:
●确保SDK环境是OK(⾥⾯有adb)
●确保设备是连接上的
●检测设备的响应状态(⼯作是不是正常的)
●推送Appium Settings apk到⼿机端
●获取Appium Settings应⽤的状态(安装OK)
●检测Appium Settings版本是不是符合要求(⽬前的Appium要求的版本就是为2.14.1)
●确认io.appium.uiautomator2.server应⽤的安装状态
●确认io.appium.uiautomator2.server应⽤的版本
●使⽤SDK包⾥⾯的apksigner.bat⽂件对io.appium.uiautomator2.server进⾏签名
●确认io.appium.uiautomator2.server.test应⽤安装的状态
●使⽤SDK包⾥⾯的apksigner.bat⽂件对io.appium.uiautomator2.server.test进⾏签名
●主要是做⼀个端⼝转发
●建⽴PC Appium server和⼿机端uiautomator2 server的通讯连接
●确认com.lemon.lemonban安装状态
●停⽌com.lemon.lemonban应⽤运⾏
●清除掉com.lemon.lemonban应⽤的数据
●启动测试App
如何不清除App的数据启动Appium进⾏测试?
所需能⼒添加如下配置
noReset=true