我正在尝试编写一个简单的测试,只需点击位于主活动中的菜单项:
测试失败并出现“ NoMatchingViewException ”。如果我将onView行更改为:
测试通过了。为什么使用withText匹配器可以找到视图,而使用withId匹配器却找不到呢?
public class doTest extends ActivityInstrumentationTestCase2<doActivity> {
public doTest() {
super(doActivity.class);
}
@Override
public void setUp() throws Exception {
super.setUp();
startActivity();
}
private void startActivity() {
Intent intent = new Intent();
setActivityIntent(intent);
getActivity();
}
public void testOne() {
Espresso.openContextualActionModeOverflowMenu();
onView(withId(R.id.create_new)).perform(ViewActions.click());
}
}
测试失败并出现“ NoMatchingViewException ”。如果我将onView行更改为:
onView(withText("Add new")).perform(ViewActions.click());
以下是该活动的菜单XML:
<item
android:id="@+id/create_new"
android:title="Add new"
tools:ignore="HardcodedText">
</item>
测试通过了。为什么使用withText匹配器可以找到视图,而使用withId匹配器却找不到呢?