Простым решением было бы просто проверить, отображается ли элемент нового экрана следующим образом:
onView(withId(R.id.id_of_element_in_your_new_screen)).check(matches(isDisplayed()))
Если вы действительно хотите проверить текущую активность, которая отображается, вы можете попробуйте что-то вроде этого:
Соберите текущую активность с помощью InstrumentationRegistry
и проверьте активность на этапе RESUMED
.
fun getTopActivity(): Activity? {
InstrumentationRegistry.getInstrumentation().runOnMainSync {
val resumedActivities = ActivityLifecycleMonitorRegistry.getInstance().getActivitiesInStage(Stage.RESUMED)
if (resumedActivities.iterator().hasNext()) {
resumedActivities.iterator().next()?.let {
activity = it
}
}
}
return activity
}
Затем вы можете проверить это в следующем тесте:
@Test
fun checkForActivity() {
val currentActivity = getTopActivity()
assertTrue(currentActivity?.javaClass == YourActivityToCheckAgainst::class.java)
}