2015-10-21 1 views
1

J'ai le test Espresso et je veux rester connecté sur l'activité exacte où le test était terminé. Et j'ai besoin de continuer l'interaction avec l'application.Android Espresso garder l'application en cours d'exécution après le test

@SmallTest 
public void testOpenNavigationDrawer() 
{ 
    Espresso.onView(ViewMatchers.withId(com.eleks.espresso.example.app.R.id.content_frame)).perform(ViewActions.swipeRight()); 
    ListView lvDrawerMenu = (ListView) getActivity().findViewById(com.eleks.espresso.example.app.R.id.lvDrawerMenu); 
    Preconditions.checkNotNull(lvDrawerMenu, "lvDrawerMenu is null"); 
    final int count = lvDrawerMenu.getAdapter().getCount(); 
    Preconditions.checkPositionIndex(2, count, "No 1 index " + count + " size"); 
    Object obj = lvDrawerMenu.getItemAtPosition(2); 
    Espresso.onView(Matchers.allOf(ViewMatchers.withId(com.eleks.espresso.example.app.R.id.tvItem), ViewMatchers.hasSibling(ViewMatchers.withText(obj.toString())))).perform(ViewActions.click()); 
} 

Comment puis-je faire cela? Merci!

Répondre

1

Désolé, mais c'est impossible.

Je pense que vous ne connaissez pas assez bien une idée de tests automatisés. \

Espresso, Robotium, Calabash et autres cadres d'essai d'interface utilisateur ont été conçus pour des tests de courte durée. Il simule le comportement spécifique d'un utilisateur - lancez l'application, faites quelques tours et (si vous réussissez) que fermez une application.

Bien sûr, Espresso vous permet de créer des ressources de ralenti personnalisées et de l'enregistrer dans l'application. De plus, la façon la plus simple d'hiberner un test pendant une période donnée est d'utiliser la méthode Thread.sleep(time_in_miliseconds), mais comme je l'ai dit, c'est contre l'idée d'un test automatisé.

3

Si vous souhaitez que l'application s'exécute après un test spécifique, vous pouvez effectuer certaines interactions manuelles ou simplement regarder le résultat final plus longtemps. Vous pouvez mettre un Thread.sleep(MS); à la fin de vos tests pour le faire rester si longtemps que vous le souhaitez. Pour être fantaisie, vous pouvez mettre une autre vérification après le sommeil (et toutes les interactions que vous faites manuellement) et continuer les tests. Évidemment, vous ne voulez pas faire cela très souvent, car cela ne fait pas de bien pour le test automatique.