Appium 使用 Inspector 查看元素

我们之前一直都是使用 UI Automator Viewer 来查看选择元素的,如果你们愿意的话还可以用 Appium desktop 里面自带的一个查看元素的工具叫 Inspector 。打开这个查看元素工具首先要确保 Appium Server 要运行起来。然后点击这个按钮。

image.png

点击之后,打开是这个页面。


image.png

这个工具也可以用来查看界面,但是它查看界面有点麻烦的地方是什么呢?需要我们手动创建一个 session,其实也就是一个客户端,和 appium server 连接。需要在Desired Capabilities 里面填入一些参数。其实就是设定这些信息。

desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '7'
desired_caps['deviceName'] = 'test'
# desired_caps['app'] = r'd:\apk\toutiao.apk'
desired_caps['appPackage'] = 'io.manong.developerdaily'
desired_caps['appActivity'] = 'io.toutiao.android.ui.activity.LaunchActivity'
# desired_caps['unicodeKeyboard']  = True
desired_caps['noReset'] = True
desired_caps['newCommandTimeout'] = 6000

把这些填写进去:


image.png

填写之后,我们可以点击 Save as...保存一下方便下次使用。

image.png

保存之后可以去 Saved Capability Sets (1) 里面查看。

image.png

选择我们保存的信息,然后点击 StartSession

image.png

这里就启动起来了。


image.png

比如我们想查看发现,我们就点它。

image.png

这两种元素各有优缺点,Inspector 感觉没有 UI Automator Viewer 稳定,界面也没有 UI Automator Viewer 清晰,第一次用的时候比较麻烦需要填写参数。总体上还不错。 如果我们手机切换了界面,比如进入了我的界面可以点击

image.png

刷新按钮刷新,有的人会说这个跟 UI Automator Viewer 一样吗,其实它还有一个模式的选择,假如说你选择了 Tap By Coordinates 模式。

image.png

这个时候你就不需要在手机上点了,直接在界面上点,就进入到了一个操作的模式,这个时候再去操作某个元素,就不用在手机上点了,这个时候界面就会自动刷新了。这是它一个优点,它还有一个优点就是元素的 id 就是 resource-id 它直接标注在树上。

image.png

这样有什么好处?我们找元素的时候我们经常要干的事情是什么?就是如果这个元素本身没有 id 或者他的 id 重复,那我就找上层节点有没有 id 的,上层节点有没有 id 在原来的 UI Automator Viewer 找的时候比较麻烦,需要一层层往上找,一个个点一个个的去看。inspector 特别好的地方是, 如果元素有 id , 直接就在树的节点里面添加了,不用一个个点过去看。它还有一个最大的好处是什么呢?比如这个id 怎么判断有没有重复呢,在 UI Automator Viewer 没什么特别好的方法,需要导出来。但是在 inspector 里面就有这个好处,它可以把你 id 的表达式拿来判断,举个例子,我们点击发现发现它是有 id 的。

image.png

因为现在我们也不知道它是不是唯一的,先把它拷贝下来。然后点击 Search for element 按钮。

image.png

只后弹出这个窗口,我们是根据 id 去找所以 Locator Strategy: 选择 id ,然后输入拷贝的内容之后点击 Search

image.png

就会发现这里面有6个同样的 id 。所以就不是唯一的。

image.png

同样的也可以根据 XPath 去找。自己可以试一下这样可以节省不少的时间。

你可能感兴趣的:(Appium 使用 Inspector 查看元素)