Я хочу открыть приложение после написания тестового примера Espresso после открытия последних приложений, вызвав метод pressRecentApps()
. Есть ли способ сделать это, кроме как имитировать щелчок по координатам?Тест эспрессо: как открыть приложение после открытия последних приложений?
0
A
ответ
0
Я бы сказал, что вы не можете. В тот момент, когда ваше приложение теряет фокус, вам не повезло.
Вы, вероятно, нужно использовать UI Automator для этого
0
Вы можете сделать это с помощью Эспрессо по телефону следующее:
val targetContext = InstrumentationRegistry.getTargetContext()
val launchIntent = Intent(targetContext, NameOfTheActivityYouAreTesting::class.java)
activityTestRule.finishActivity()
activityTestRule.launchActivity(launchIntent)
Я на самом деле написал вспомогательную функцию для этого:
inline fun <reified T : Activity> ActivityTestRule<T>.restartActivity() {
finishActivity()
launchActivity(Intent(InstrumentationRegistry.getTargetContext(), T::class.java))
}
И я называю это следующим образом:
val activityTestRule = ActivityTestRule(ActivityIAmTesting::class.java)
@Test
fun someEspressoTest() {
// Some testing ...
// ...
activityTestRule.restartActivity()
// Some more testing...
// ...
}
Я достиг этого с помощью Ui Automator, найдя название и нажав на него. Плохо, что у него только API min level 18. – karate