Android自动化测试中AccessibilityService获取控件信息(3)

         刚刚研究Uiautomator测试的时候偶然间发现,它也是获得accessibilityNodeInfo对象的,而且它获得的对象是当前窗口的对象,不是前一个画面,这就让我很疑惑啦。既然别人都可以获得当前画面,为啥AccessibilityService本身会获取不到了?一定是我哪方面理解的有问题。所以我又折返回来继续看AccessibilityService,果然是我的错!

        我之前写程序的时候,只响应了一个click事件,可能它会有数据的堵塞造成的信息答应不畅的可能性,因为我反复点击的时候,有时会出现正确,但是有时候又不正确。这就是偶现事件么?当然不是,我索性把所有的事件全部开启,我们能检测所有的事件。

    android:accessibilityEventTypes="typeAllMask"

        我是从设置里的网络->我的设备。我们看输出:


       log输出了所有的响应事件答应的结果,对比如下:

                         

        通过对比可以看出,即使是同一时间的事件,不同的响应,得到不同的画面属性。通过这些,充分说明之前是由于我监听事件的错误,造成的结果不正确,其实他是可以得到当前画面的。Over,既然这样,那么我们就能达到我们的目标啦。

       (果然是偏门啊,没人发现错误!!)

 

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值