有时候我们使用UiAutomator在查找元素的时候,发现明明元素在UiAutomator view工具中能够识别出,但是使用代码去识别的时候,却发现该元素 UiObjectNotFoundException,是偶然出现的,但是这些就够让我们的测试代码的容错性大大降低,给别人展示的时候,人家看到的是结果,发现时不时的出现错误,那就给人的影响是————你还没做好。
其实有些元素真的出现该现象的话,我们不妨用另外一个角度去思考——坐标,让我们来举个栗子:
图一:【播放器】元素(UiAutomatorView 观察)
图二:【全屏按钮】元素(UiAutomatorView 观察)
在定位的过程中,我发现【播放器】定位是一定可以定位出来的,那么我们找一下他们有什么关系??
其实那个【全屏按钮】跟【播放器】是不同的层的,所以我们不能用getChild的方法去定位,但是它们却有必然的联系,可以发现他们的坐标,【播放器】右下角坐标是(1080,664),【全屏按钮】右下角坐标是(1080,656),我们页可以确定它们的布局是确定的,无论是大屏还是小屏,【全屏按钮