appium之adb常用命令
一、真机远程调试步骤:
(非数据线操作要求需要手机和pc端在同一个路由器下)
1、将手机连接到pc端
2、adb devices 检测设备
3、adb tcpip 5555 确定手机和pc端的通讯(端口)
4、拔掉手机
5、adb connect <手机ip地址>
6、adb disconnect 取消远程调试
1、adb是什么?
adb是用来连接安卓手机和pc端的桥梁
2、adb组成:
1、客户端(client):运行在自己电脑上,可以通过adb命令来调用起一个客户端;
2、服务端(server):运行在自己电脑上的后台,负责管理client和daemon进行通信;
3、守护进程(daemon):运行在模拟器或Android设备后台;
二、adb命令
1、adb devices 检测设备
2、adb version 检测版本
3、adb shell 登录设备 (ll ls cp 命令 都可以用,进入到linux命令环境了,相当于执行远程命令)
4、adb pull <手机路径> <本机路径> 从手机中拉取信息到本地电脑上
5、adb push <本机路径> <手机路径> 从本机电脑中推送信息到手机上
6、adb logcat 打印日志
打印日志到本地:adb logcat >本地路径(如:adb logcat > D:\log.txt)
7、查看包名:adb shell "dumpsys window windows | grep mFocusedApp"
三、常用五个配置项
1、devicesName (设备名称) 命令获取: adb devices
2、platformName (设备操作系统名称) 设备:Android
3、platformVersion (操作系统版本) Android版本:9.0
4、appPackage (需要连接APP的包名) 命令获取:pm listpackages -3 (获取手机上安装的第三方应用)
或直接获取当前的app包名:adb shell "dumpsys window windows | grep mFocusedApp"
5、appActivity (需连接App的启动项名称) 命令:dumpsys window windows |grep -i current
6、unincodeKeyboard (输入中文时,需要添加) 例:app['unicodeKeyboard']=True
# 比如下面 platformName 和 platformVersion 两个配置项 desired_caps = {} desired_caps['platformName'] = 'Android' #测试平台,不能写错 desired_caps['platformVersion'] = '9' #平台版本,不能写错 desired_caps['deviceName'] = 'test' #设备名称 #apk 文件路径名,如果设备还没有此应用,则会安装。 什么是apk文件? #android application package <安卓移动App安装包> # desired_caps['app'] = r'd:\apk\toutiao.apk' #一般可以在手机上先安装好app #app package名,一定要有,是开发者给app取的名字,可以唯一标识这个app # 安卓上运行某个app,不是根据它的路径而是appid ,也就是这package name desired_caps['appPackage'] = 'io.manong.developerdaily' # app默认Activity,也是必须的参数。 desired_caps['appActivity'] = 'io.toutiao.android.ui.activity.LaunchActivity' # 一定要有该参数,否则测试过程中无法输入中文,加上这个参数会新加一种unicode输入法(测试完成后 需在手机设置中切换回来自己的输入法,否则不能使用) desired_caps['unicodeKeyboard'] = True # 保证了app 测试前不会清除应用数据,缺省是会清除数据的 desired_caps['noReset'] = True # appium server 认为 和客户端之间 无响应最大时间,超过这个时间就会停止服务 desired_caps['newCommandTimeout'] = 6000 desired_caps['automationName']='uiautomator2'