我有一个 AndroidJUnit4 测试用例,在这个测试用例中,我使用以下代码来验证小吃栏是否显示并包含正确的文本:
onView(withId(android.support.design.R.id.snackbar_text)).check(matches(isDisplayed()));
onView(allOf(withId(android.support.design.R.id.snackbar_text), withText(R.string.msg_error_unknown_user)))
.check(matches(isDisplayed()));
当我在 API 级别 22 的模拟器/设备上运行此测试时,测试运行正确。当我切换到 API 级别 17 时,测试失败并出现以下异常:
android.support.test.espresso.NoMatchingViewException: No views in hierarchy found matching: with id: com.mydomain.myappname:id/snackbar_text
请注意,应用程序在两个 API 级别上的行为方式相同;小吃吧正在正确显示。
为什么在我的测试用例中没有在 API 级别 17 上检索到快餐栏,我该如何解决这个问题?