2016-01-11 4 views
6

Standardmäßig wartet Espresso auf den Fortschrittsbalken meiner Aktivität, um das Laden zu beenden, bevor die nächsten Anweisungen ausgeführt werden.Espresso zwingen, nicht auf den Fortschritt zu warten

Ich möchte Espresso zwingen, nicht darauf zu warten und die restlichen Anweisungen auszuführen, während der Fortschrittsdialog geladen wird.

Irgendwelche Treffer, wo ich suchen sollte?

Nach einigen Untersuchungen gehe ich davon aus, dass ich die Klasse IdlingResource nutzen muss.

Antwort

2

prüft diese Antwort:

Das Standard-Timeout, dass Espresso für alle registrierten Ressourcen wartet untätig zu werden, ist eine Minute.

Sie können dies die IdlingPolicies -Klasse ändern, um einen expliziten Timeout zu setzen:

IdlingPolicies.setIdlingResourceTimeout(1, TimeUnit.HOURS); 

Von: Espresso how to wait for some time(1 hour)?

Anstelle von 1 Stunde Versuch zum Beispiel 1 Sekunde (I don zu setzen weiß nicht, ob 0 erlaubt ist).

Sie können auch eine benutzerdefinierte Farbverreibung Ressource erstellen, wie es hier erklärt: Espresso: Thread.sleep();

Hoffen, dass es

+1

Hallo, vielen Dank für Ihre answrer helfen. Ich habe gerade versucht, ein benutzerdefiniertes Leerlauf-Ressourcen-Timeout von 1 Sekunde hinzuzufügen, aber es scheint keine Wirkung zu haben. Könnten Sie vielleicht etwas konkreter sein, wo dieses Stück Code hinzugefügt werden muss? Ich habe versucht, es direkt in den Test zu integrieren. –

+0

Überprüfen Sie den ersten Link oben - hier finden Sie den vollständigen Code mit dieser genau Linie – piotrek1543

+1

Just tat das. Der Code funktioniert, aber das Warten findet erst statt, nachdem der Fortschrittsbalken beendet wurde. Was ich will, ist die Fortschrittsanzeige zu ignorieren und auf eine benutzerdefinierte Zeitspanne zu warten ... –

Verwandte Themen