Mac使用Appium连接真机与appium-inspector配置和使用
1. 配置Java SDK与Android SDK
2. 连接真机
使用USB连接真机
将USB偏好设置为MIDI
测试设备连接情况:
adb devices -l
3. 配置Appium与appium-inspector安装
安装node:brew install node
下载并安装Appium:https://github.com/appium/appium/releases
下载并安装appium-inspector:https://github.com/appium/appium-inspector/releases
启动Appium,在设置中配置JAVA_HOME与ANDROID_HOME
4. 配置appium-inspector
常用配置项有5个:
platformName(必须)
值为:Android或ios
platformVersion(必须)
通过命令:adb shell getprop ro.build.version.release,可以看到是一个整数类型的值,就是这个值
deviceName(必填,随便填)
通过命令:adb devices -l,查看到一个结果:
这里的IN2010就是值,也就是model:后面跟的那个
appPackge 与 appActivity(必须)
首先手机打开一个APP(比如淘宝),通过命令adb shell dumpsys activity | grep "mResume",查看到结果:
图中高亮部分,以"/"为界限,左边是appPackge,右边是appActivity:
appPackge为:com.taobao.taobao
appActivity为:com.taobao.tao.TBMainActivity
注意:一般格式都是com.xxxxx,在少数情况下会有相对路径显示,可以使用adb shell dumpsys window | grep mCurrent命令查找mCurrentFocus后面的内容
automationName(可选)
这个值为"Appium"
打开appium-inspector
如果Appium为1.x,appium-inspector为新版,需要在Appium inspector中的Remote Path中配置/wd/hub:
5. 尝试连接
首先真机打开目标软件
点击start session即可连接,如果配置无误,应该已经可以打开调试了
6. 报错解决
No route found for /session
解决appium-inspector连接后在Appium中报错:No route found for /sessions:https://blog.csdn.net/weixin_35757704/article/details/122767914
Could not find ‘apksigner.jar’
如果报错Could not find ‘apksigner.jar’,请参考:https://blog.csdn.net/weixin_35757704/article/details/122768439
Could not proxy command to the remote server. Original error: socket hang up
第一次打开:
如果报错Could not proxy command to the remote server. Original error: socket hang up,请进入下面的玄学部分:
检查一下appium-inspector的配置,配置正确即可
关闭Appium与appium-inspector
断开手机与Mac的连接,然后重连
重新打开Appium与appium-inspector,真机打开目标软件,appium-inspector点击start session连接
这时应该可以正常打开了
第N次打开:
由于之前正常过,因此排除配置异常。只需要删除手机中的Appium软件,重新连接即可
appium-inspector使用
The Inspector 检查器
检查器是应用程序状态的可视化表示具有在应用程序中执行某些交互的能力Appium。
Appium会话可能需要一些时间来加载,尤其是在云服务上请耐心等待。当会话加载时,您的应用程序的屏幕截图就会出现在左边。可以在应用程序中使用鼠标来处理各种UI元素
- 左边是手机图像
- 中间是应用程序的层次结构,表示为XML。
- 右侧是元素的属性和操作
- 你可以点击
- 输入内容
- 清空
- 顶部也是一些操作
- 返回
- 刷新
- 录制器,支持多种语言
- 查询元素,可以通过id,xpath等方式去查询
- 退出
查询元素
这个可以帮助自己很快的写定位,验证定位,
比 uiautomatorviewer方便多了,
The Recorder 动作记录器
Appium的桌面有一个非常基本的动作记录器,那就是手表使用Appium桌面的操作,并显示语言和框架的特定功能表示这些操作的代码。然后可以将代码复制并粘贴到代码中适当的Appium客户机代码,并用于测试。
NB: 记录器的目标不是产生生产就绪的测试代码。它被设计为帮助探索Appium API的工具,并演示了如何实现某些自动化行为对应于特定的方法调用语言和Appium图书馆。总之,它是一个学习工具,而不是一个健壮
的代码生成特性,应该这样使用。当您开始记录时,检查器将显示一个额外的窗口:
支持多种语言