上篇文章介绍了ID的定位方式本文介绍控件跟文本的方式。
控件类型定位方式
接着我们来介绍下第二种定位方式,按控件类型的定位方式。有时候控件没有id,这时候我们可以运用控件类型来定位,一个页面上相同类型的控件一般会有多个,因此按控件类型定位一般也会结合index来进行定位。
假如现在我们要定位开源中国应用首页底部的第二个tab页,我们可以通过uiaumatorviewer来观察控件信息,发现它是有ID的,因此可以使用ID来定位,这里我们想通过控件类型来定位,可以通过工具获得控件类型是android.widget.FrameLayout,当前页面android.widget.FrameLayout类型的控件有很多,我们通过工具发现它的父级控件是有ID的,我们可以通过先获得它的父级控件,然后在根据父级控件去找子控件,这样就可以缩小范围,具体控件信息如下图所示:
通过上图可以看到假设要定位到第二个tab页,按控件类型FrameLayout定位的话,第二个tab页的index应该是2,也就是第三个,所以编写如下测试代码进行定位:
package appium.chapter2;
import io.appium.java_client.AppiumDriver;