我有这一系列的Espresso测试代码:
onView(withId(R.id.rvWorkDaySchedule)).perform(swipeDown());
并且rvWorkDaySchedule
在Android Studio的编辑器中以红色显示,因为布局中没有这样的XML视图ID - 我以编程方式创建此RecyclerView。
那么如何检测使用Espresso以编程方式充气的视图?
答案 0 :(得分:2)
首先,Espresso允许您在测试中使用Hamcrest匹配器。
对于捕获以编程方式添加的视图最有用的是withChild
,withParent
,hasSibling
和hasDescendant
。
为了更清楚,我会从我的应用程序中给出一个简单的例子:
onView(withId(R.id.action_bar_details))
.check(matches(withChild(withChild(withText("Details")))));
其次,对于Espresso中的RecyclerView
测试,请使用onData
方法onView
。
Espresso 2.1. Espresso Cheat Sheet Master
我的应用中的另一个示例 - 使用onData
方法
onData(anything()).inAdapterView(withId(R.id.listView)).atPosition(getRandomPosition()).
onChildView(withId(R.id.item)).check(matches(isDisplayed()));
最后,检查这些优秀的Googles存储库以获取更多示例