uiautomator中相同控件名该如何获取想要的控件,instance(0)区分布局一样的控件

来源:互联网 发布:小学四年级体测数据 编辑:程序博客网 时间:2024/06/05 17:06

大家在使用uiautomator测试开发中肯定遇到一样布局、连控件ID都一样的情况,我们该如何去获取?

举例:

以下如图的所有界面开关(图片可能加载不出来,大家请自行想象下),所有控件显示名称都是一样的,就index有区别,假如我们要开关NFC开关,我们肉眼可以去判断,但是代码如何去做呢?



我们看到index的数值都是有顺序的,也就是所有这些开关都是有顺序区分的,如:NFC开关在第三个。

知道这些我们就可以用一个函数:instance(0)和index(0),这里面的0表示是第一个排在前面的控件,一般我们获取控件UiObject不写instance是默认第一个(相当于写了instance(0)),而我们的NFC开关在第三个,那么使用的instance(2),这就是要获取我们NFC的控件,

获取NFC的控件代码如下:

UiObject clickOnAndOff = new UiObject(new UiSelector().resourceId("android:id/witchWidget").instance(2));

后面跟上instance(2)就是要获取的控件,大家明白了吗?


ps:别问我index(0)干嘛的,使用方法差不多,因为我几乎不用,大家感兴趣可以百度;


文章作者:享有盛誉之名

转载请备注!

阅读全文
0 0
原创粉丝点击