Android 用onData加浓咖啡

Android 用onData加浓咖啡,android,android-testing,android-espresso,Android,Android Testing,Android Espresso,我正在尝试访问视图的子视图。这是我目前正在努力工作的路线 onData(withDesc("Description")).onChildView(withId(R.id.positive)).perform(click()); private static Matcher<Object> withDesc(String desc) { return onView(withContentDescription(desc)); } onData(withDesc(“Descr

我正在尝试访问视图的子视图。这是我目前正在努力工作的路线

onData(withDesc("Description")).onChildView(withId(R.id.positive)).perform(click());

private static Matcher<Object> withDesc(String desc) {
    return onView(withContentDescription(desc));
}
onData(withDesc(“Description”)).onChildView(withId(R.id.positive)).perform(click());
私有静态匹配器withDesc(字符串描述){
返回onView(带contentdescription(desc));
}

但这返回的是一个
视图交互
,而不是
对象
。如何切换以使其工作?

我建议找到一种方法,使用Hamcrest匹配器之一匹配要加载的所需视图项。看看这里提供的匹配器:

这是谷歌的


别误会我,我同意。但我到底要怎么做呢?我通读了这些图坦卡门,但我仍在努力。据我所知,你只能将物品的价值作为匹配标准(这是有道理的)。例如:allOf(is(instance(String.class)),eq(“some value”))。我不确定语法,我试图在火车上的一个小屏幕上提供帮助。当我尝试使用Hamcrest matcher is this context时,我会遇到严重的语法错误。怎么了?对不起,语法不对。这是正确的:allOf(is(instanceOf(String.class)),is(“Americano”))尝试导入static org.hamcrest.Matchers.*;
 private static DataInteraction onRow(String str) {
     return onData(hasEntry(equalTo(LongListActivity.ROW_TEXT), is(str)));
 }