2016-10-17 5 views
0

Я хочу открыть приложение после написания тестового примера Espresso после открытия последних приложений, вызвав метод pressRecentApps(). Есть ли способ сделать это, кроме как имитировать щелчок по координатам?Тест эспрессо: как открыть приложение после открытия последних приложений?

ответ

0

Я бы сказал, что вы не можете. В тот момент, когда ваше приложение теряет фокус, вам не повезло.

Вы, вероятно, нужно использовать UI Automator для этого

+0

Я достиг этого с помощью Ui Automator, найдя название и нажав на него. Плохо, что у него только API min level 18. – karate

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... 
    // ... 

} 

 Смежные вопросы

  • Нет связанных вопросов^_^