Robotium robotium 相同的 id,如何通过先获取父类,再获取子类来进行点击

enumerate · 2019年07月13日 · 2045 次阅读

最近使用 robotium,发现如果单纯使用 robotium 提供的 api,很多时候会出现点击不到,获取不到的情况,是因为 android 里有很多的 id 相同的控件,所以尽量要先获得父类,在获得子类来进行点击,但是发现如果是 listview 的父类,还比较容易,一般 listview 下是 LinearLayout 布局可通过前面的 id 来进行选择获取或者点击,但是我现在遇到这样一个 view,如下图

父类是 LinearLayout 布局,底下又有一层 RelativeLayout 布局,再下面才是我想要点击的按钮

我这里的思路是这样的,下面是代码

LinearLayout r = (LinearLayout) solo.getView("title_bar");

先获取这个父类,然后下面就蒙了,以前碰到的都是那种下面直接就是子类可以做点击了,但这个下面多了一层 RelativeLayout,而且这个 RelativeLayout 没有 resource-id。
而且有个问题就是,我获取的这个父类,我通过

System.out.println(r.getChildCount())

打印子类的数量时是没有的,感觉是我获取的父类有问题,请大家帮忙看下有没有遇到过相同问题的情况,帮助解惑一下,谢谢

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册