腾讯Android自动化测试实战3.3.1 控件ID相同时获取控件
3.3 Robotium实践运用
3.3.1 控件ID相同时获取控件
实际界面中常常有一些子控件是相同ID甚至没有ID的,但这时候一般其父视图是有ID的。如图3-14所示,每个TAB的控件ID是相同的。
图3-14 拥有相同ID的底部TAB
因为界面中也很可能会出现多个发现、游戏这样的文本,因此也不能采取类似getText(“发现”)这样的方式。这里,我们就可以通过ID获取唯一父控件,再通过过滤方式获取指定的控件。
//先根据ID获得唯一的布局LinearLayout
LinearLayout mTabs = (LinearLayout)solo.getView("main_tabs");
//然后通过过滤方式获取该LinearLayout下的所有文本控件
ArrayList<TextView> tabs = solo