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

本文介绍在UIAutomator测试中如何处理相同布局及控件ID的情况,通过实例讲解如何利用index属性定位特定控件,例如开关按钮,并提供获取NFC开关控件的具体代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大家在使用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)干嘛的,使用方法差不多,因为我几乎不用,大家感兴趣可以百度;

---------------------------------完,不明白的给我留言·······················

文章作者:享有盛誉之名

转载请备注!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测试狂人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值