大家在使用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)干嘛的,使用方法差不多,因为我几乎不用,大家感兴趣可以百度;
---------------------------------完,不明白的给我留言·······················
文章作者:享有盛誉之名
转载请备注!