Android unterstützt mehrere Fenster. Normalerweise ist dies für die Benutzer und den App-Entwickler transparent (Wortspiel beabsichtigt), in bestimmten Fällen sind jedoch mehrere Fenster sichtbar (z. B. wird ein Fenster zum automatischen Vervollständigen über das Hauptanwendungsfenster im Such-Widget gezeichnet). Um Ihr Leben zu vereinfachen, verwendet Espresso standardmäßig eine Heuristik, um zu erraten, mit welchem Fenster Sie interagieren möchten. Diese Heuristik ist fast immer "gut genug"; In seltenen Fällen müssen Sie jedoch angeben, auf welches Fenster eine Interaktion ausgerichtet werden soll. Sie können dies tun, indem Sie Ihren eigenen Root-Fenster (aka Root) -Matcher bereitstellen: z. Wenn Sie auf ein Pop-up mit "OK" und "Abbrechen" klicken möchten, können Sie Espresso wie folgt verwenden.
onView(withText("OK")).inRoot(withDecorView(not(is(getActivity().getWindow().getDecorView())))).perform(click());
Ein weiteres Beispiel ist Espresso Intents zu verwenden: Zum Beispiel: Benutzeraktion, die in einer externen „Telefon“ Aktivität führt, wie Clicked von Ihrer eigenen App auf dem Ruftaste ins Leben gerufen, und Sie können mit Hilfe überprüfen:
androidTestCompile 'com.android.support.test.espresso:espresso-intents:2.2.2'
user.clickOnView(system.getView(R.id.callButton));
intended(toPackage("com.android.phone"));
Werfen Sie einen Blick auf verschiedene Beispiele auf erwähnt: Official Google Android Test Forum
[Espresso - Testoberfläche für mehrere Apps] (https://developer.android.com/training/testing/ui-testing/uiautomator-testing.html) –