在Espresso测试中,"androidx.test.espresso.NoMatchingViewException: No views in hierarchy found matching"错误通常表示Espresso无法找到与给定条件匹配的视图。这可能是由于以下几个原因引起的:
检查视图的id是否正确:确保在测试用例中使用的视图id与布局文件中的视图id匹配。例如,如果在布局文件中的视图id为"my_view",则在测试用例中使用的视图id也应该是"my_view"。
确保应用程序已加载:在测试用例中,确保在使用Espresso之前,应用程序已加载完毕。可以使用ActivityTestRule
或IntentsTestRule
等规则来确保应用程序已启动。
使用正确的Espresso匹配器:使用Espresso提供的正确匹配器来查找视图。例如,如果要根据文本内容查找视图,则使用withText()
匹配器。确保使用正确的匹配器来查找视图。
下面是一个示例,演示了如何解决该问题:
@Test
public void testButtonVisibility() {
// Launch the activity
mActivityRule.launchActivity(new Intent());
// Find the view with id "my_button" and check its visibility
onView(withId(R.id.my_button)).check(matches(isDisplayed()));
}
在上述示例中,我们首先确保应用程序已启动(使用ActivityTestRule
)。然后,我们使用正确的视图id(R.id.my_button
)来查找按钮视图,并使用isDisplayed()
匹配器来检查视图是否可见。
上一篇:androidx.test.espresso.NoMatchingRootException:Matcher'istoast'didnotmatchanyofthefollowingroots:
下一篇:androidx.versionedparcelable:versionedparcelable:1.1.1错误。