我有一个自动填充框,有一个功能“CityAdapter”,如何使用expresso测试访问Button / ImageView?我按 cityName 过滤了costum适配器,因此我可以按名称查找城市。
onView(withId(R.id.autoCompleteCities))
.perform(typeText(""), closeSoftKeyboard());
Activity mActivity=mActivityTestRule.getActivity();
onData(instanceOf(CityAdapter.class))
.inAdapterView(withId(R.id.autoCompleteCities))
.atPosition(0)
.onChildView(withId(R.id.tvFavourite))
.perform(click());
答案 0 :(得分:0)
您可以执行以下操作:
onView(withId(R.id.autoCompleteCities))
.perform(typeText("E"));
onData(instanceOf(City.class))
.inRoot(RootMatchers.isPlatformPopup())
.atPosition(0)
.onChildView(withId(R.id.tvFavourite))
.perform(click());
onView(~).perform(~)
将在auto complete listview
。view-port
onData(instanceOf(City.class))
这将找到视图,其对象与上述类的对象相同(此处为City.class
)。inRoot(RootMatchers.isPlatformPopup())
下拉菜单位于另一个窗口,而不是您的活动运行的默认窗口。所以我们必须指定我们要搜索该窗口。atPosition(0)
选择array-list
或list-view
中指定位置的项目。onChildView(withId(R.id.tvFavourite))
选择具有指定ID的子视图(此处为image-view
)。