我们之前一直都是使用 UI Automator Viewer 来查看选择元素的,如果你们愿意的话还可以用 Appium desktop 里面自带的一个查看元素的工具叫 Inspector 。打开这个查看元素工具首先要确保 Appium Server 要运行起来。然后点击这个按钮。 image.png
点击之后,打开是这个页面。 image.png
这个工具也可以用来查看界面,但是它查看界面有点麻烦的地方是什么呢?需要我们手动创建一个 session,其实也就是一个客户端,和 appium server 连接。需要在Desired Capabilities 里面填入一些参数。其实就是设定这些信息。
把这些填写进去: 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 去找。自己可以试一下这样可以节省不少的时间。 |
|
来自: songen2216 > 《安卓逆向调试》