Espresso ausführen klicken

Habe ich versucht, zu schreiben, einfach zu testen mit 'espresso'

@RunWith(AndroidJUnit4.class)
@LargeTest
public class EspressoTest {
    @Rule
    public ActivityRule<IntroActivity> mActivityRule = new ActivityRule(IntroActivity.class);

    public EspressoTest() {
        IdlingPolicies.setMasterPolicyTimeout(1000, TimeUnit.SECONDS);
    }

    @Test
    public void testShouldClickEmailButton() {
            onView(withText(R.string.in_email)).perform(click());
    }


}

aber ich bekam eine Fehlermeldung:

PerformException: Error performing 'single click' on view 'with string from resource id: <2131099761>[in.email] value: Login With Email'.

Ich versuche verschiedene frameworks für das testen und die robotium ist das beste für mich jetzt durch, aber wenn jemand helfen kann diesen Fehler zu beheben, werde ich sehr dankbar

UPD mehr detailliertes Logbuch

Verursacht durch: java.lang.RuntimeException: Action wird nicht ausgeführt
da die Ziel-Ansicht nicht übereinstimmen, eine oder mehrere der folgenden
Einschränkungen: mindestens 90 Prozent der anzeigen-Bereich angezeigt wird
der Anwender. Ziel anzuzeigen: "DSeparatedButton{id=2131427459,
res-name=button_login, Sichtbarkeit=SICHTBAR, Breite=622, height=120,
hat focus=false, hat-justierbares=true, hat-window-Fokus=true,
ist-clickable=true-aktiviert=true, ist-konzentriert=false,
ist-justierbares=true, ist-layout-requested=false, ist-selected=false,
root-ist-layout-requested=false, hat-input-Anschluss=false, x=0.0,
y=333.0, text=Login Mit E-Mail -, Eingangs-Typ=0, ime-target=false,
hat-links=false}"

Ich habe auch einen kleinen Spritzer animation

Espresso ausführen klicken

  • Action will not be performed because the target view does not match one or more of the following constraints haben Sie beim Lesen dieses?
  • ja, ich sehe es, ich habe ein slide-up-Taste animation, aber wie kann ich das warten für 1 sec? Ich versuchte Thread.sleep(1000); etc. aber es hilft nicht
  • Ah, danke für die Aktualisierung, die Sie veröffentlichen. Ich denke, Sie werden das richtige tun, indem Sie mithilfe von Espresso. Check this out: stackoverflow.com/questions/21417954/espresso-thread-sleep.
  • thx, ich werde es jetzt versuchen, es ist wirklich seltsam, denn ich habe nicht dieses problem in robotium, aber ich habe schuppige tests und Fehler wie OOM in Emulatoren (nicht echte Geräte), also habe ich beschlossen, die Migration auf andere
  • Ah, es ist zwei verschiedene frameworks von verschiedenen Autoren. Das ist gut so, wenn die nächste person läuft in dieser können wir nur die Suche für diese Frage 🙂
  • so Ergebnis ist schlecht, denn eigentlich ist die Schaltfläche auf der Ansicht-und wir brauchen nicht zu warten. Und mehr details zu der animation: ich habe nicht alle Transformationen, die mit der Schaltfläche nur-splash-Bildschirm über die Schaltfläche blendet mit 1 Sek animation
  • Hi @Gorets, wenn Sie zu erbringen waren, ein wenig von dem code für die IntroActivity, dass würde helfen. Ansonsten, es gibt eine Menge Vermutungen. Sie bekommen Antworten, die best practices, aber nicht unbedingt Lösungen. Wir müssten wissen, wie Sie gebaut die Ansicht in Frage. Alles, was wir jetzt schon wissen ist, dass Ihre matcher nicht.
  • Für den Test warten, Fall oder dealy Ausführung von Testfällen verwendet werden. SystemClock.sleep(2000); ///2 Sekunden

InformationsquelleAutor Gorets | 2015-07-14
Schreibe einen Kommentar