接上篇,说一下 Appium 自带的 inspector 定位方式。
首先打开 Appium 桌面版。
点击 [Start Server]
启动 Appium 服务。
在 Appium 服务的控制台界面,点击图中的 [放大镜]
按钮,进入 inspector
界面。
这是 Appium 提供的用来定位的工具,我们需要填写一些内容并启动 session 后才能进行定位。
在 Desired Capabilities 中分别输入:
- deviceName: 设备名称,可以随便输,但是必须要有该字段
- platformName: 平台,是 Android 还是 iOS
- appPackage: 与 appActivity 一样,都是 Appium 启动待测应用必须要提供的,忘记怎么查看的可以参看 《Package 和 Activity》
- noReset: 启动时不重置应用。不设置为 True,则每次启动都会重置 App
或者在右边直接填入:
{
"deviceName": "test",
"appPackage": "com.moji.mjweather",
"appActivity": "com.moji.mjweather.LauncherActivity",
"noReset": true
}
填完后,一定要保存一下,这样下次定位就不用再设置这些了。
保存后,可以点击
[Saved Capability Sets]
选择对应 App 的配置,直接进行定位。
接下来,就可以点击[Start Session]
启动 App 进行定位。
启动时间可能稍微有点长,Appium 需要通过 adb 连接设备后去启动 App。
Appium inspector 分了三个部分,分别是:
- 屏幕截图,可以点击你想查看的元素,但是要注意屏幕截图不会即时刷新,如果 App 进行了操作,需要点击顶部的刷新按钮;
- 页面结构,中间的 App Source 显示了 App 的页面元素的层级关系;
- 元素定位,给出了定位语句的参考,一般除了 id 以外,都没有什么参考价值;下半部分显示的是元素的属性。
Appium inspector 打开速度慢,操作起来也不流畅,好处是可以对元素的唯一性进行验证。
个人还是更喜欢 UIAutomatorViewer, 但是要注意使用 UIAutomatorViewer 的时候一定要把页面的截图保存下来,这样不用每次要定位的时候都需要重新连一下设备。