Espresso Testing Framework - Aktionen anzeigen

Wie bereits erwähnt, automatisieren Ansichtsaktionen alle möglichen Aktionen, die von Benutzern in einer Android-Anwendung ausgeführt werden können. Espresso onView und "onData" stellen die perform- Methode bereit , die Ansichtsaktionen akzeptiert und die entsprechenden Benutzeraktionen in der Testumgebung aufruft / automatisiert. Beispielsweise ist "click ()" eine Ansichtsaktion, die bei Übergabe an die Methode onView ( R.id.myButton ) .perform (click ()) das Klickereignis der Schaltfläche auslöst (mit der ID: "myButton"). ) in der Testumgebung.

In diesem Kapitel erfahren Sie mehr über die Ansichtsaktionen, die vom Espresso-Test-Framework bereitgestellt werden.

Text eingeben()

typeText () akzeptiert ein Argument (Text) vom Typ String und gibt eine Ansichtsaktion zurück. Die zurückgegebene Ansichtsaktion gibt den bereitgestellten Text in die Ansicht ein. Vor dem Platzieren des Textes wird einmal auf die Ansicht getippt. Der Inhalt kann an einer beliebigen Stelle platziert werden, wenn er bereits Text enthält.

onView(withId(R.id.text_view)).perform(typeText("Hello World!"))

typeTextIntoFocusedView ()

typeTextIntoFocusedView () ähnelt typeText (), außer dass der Text direkt neben der Cursorposition in der Ansicht platziert wird.

onView(withId(R.id.text_view)).perform(typeTextIntoFocusedView("Hello World!"))

replaceText ()

replaceText () ähnelt typeText () , ersetzt jedoch den Inhalt der Ansicht.

onView(withId(R.id.text_view)).perform(typeTextIntoFocusedView("Hello World!"))

Klartext()

clearText () hat keine Argumente und gibt eine Ansichtsaktion zurück, mit der der Text in der Ansicht gelöscht wird.

onView(withId(R.id.text_view)).perform(clearText())

drücken Sie die Taste()

pressKey () akzeptiert den Schlüsselcode (z. B. KeyEvent.KEYCODE_ENTER) und gibt eine Ansichtsaktion zurück, bei der die Taste gedrückt wird, die dem Schlüsselcode entspricht.

onView(withId(R.id.text_view)).perform(typeText(
   "Hello World!", pressKey(KeyEvent.KEYCODE_ENTER))

pressMenuKey ()

pressMenuKey () hat keine Argumente und gibt eine Ansichtsaktion zurück, die die Hardware- Menütaste drückt.

onView(withId(R.id.text_view)).perform(typeText(
   "Hello World!", pressKey(KeyEvent.KEYCODE_ENTER), pressMenuKey())

closeSoftKeyboard ()

closeSoftKeyboard () hat keine Argumente und gibt eine Ansichtsaktion zurück, die die Tastatur schließt, wenn eine geöffnet wird.

onView(withId(R.id.text_view)).perform(typeText(
   "Hello World!", closeSoftKeyboard())

klicken()

click () hat keine Argumente und gibt eine Ansichtsaktion zurück, die die Klickaktion der Ansicht aufruft.

onView(withId(R.id.button)).perform(click())

Doppelklick()

doubleClick () hat keine Argumente und gibt eine Ansichtsaktion zurück, die die Doppelklickaktion der Ansicht aufruft.

onView(withId(R.id.button)).perform(doubleClick())

longClick ()

longClick () hat keine Argumente und gibt eine Ansichtsaktion zurück, die die Long-Click-Aktion der Ansicht aufruft.

onView(withId(R.id.button)).perform(longClick())

pressBack ()

pressBack () hat keine Argumente und gibt eine Ansichtsaktion zurück, die auf die Schaltfläche "Zurück" klickt.

onView(withId(R.id.button)).perform(pressBack())

pressBackUnconditionally ()

pressBackUnconditionally () hat keine Argumente und gibt eine Ansichtsaktion zurück, die auf die Schaltfläche "Zurück" klickt und keine Ausnahme auslöst, wenn die Aktion "Zurück" die Anwendung selbst beendet.

onView(withId(R.id.button)).perform(pressBack())

Verbindung öffnen()

openLink () hat zwei Argumente. Das erste Argument (Linktext) ist vom Typ Matcher und verweist auf den Text des HTML- Ankertags . Das zweite Argument (URL) ist vom Typ Matcher und verweist auf die URL des HTML- Ankertags . Dies gilt nur für TextView . Es gibt eine Ansichtsaktion zurück, die alle im Inhalt der Textansicht verfügbaren HTML-Ankertags sammelt, das Ankertag findet, das mit dem ersten Argument (Linktext) und dem zweiten Argument (URL) übereinstimmt, und schließlich die entsprechende URL öffnet. Betrachten wir eine Textansicht mit dem Inhalt als -

<a href="http://www.google.com/">copyright</a>

Anschließend kann der Link mit dem folgenden Testfall geöffnet und getestet werden:

onView(withId(R.id.text_view)).perform(openLink(is("copyright"),
   is(Uri.parse("http://www.google.com/"))))

Hier erhält openLink den Inhalt der Textansicht, findet den Link mit dem Copyright als Text, www.google.com als URL und öffnet die URL in einem Browser.

openLinkWithText ()

openLinkWithText () hat ein Argument, das entweder vom Typ ** String * oder vom Typ Matcher sein kann. Es ist einfach eine Abkürzung zur openLink * -Methode.

onView(withId(R.id.text_view)).perform(openLinkWithText("copyright"))

openLinkWithUri ()

openLinkWithUri () hat ein Argument, das entweder vom Typ String oder vom Typ Matcher sein kann. Es ist einfach ein kurzer Schnitt an den Openlink * Methode.

onView(withId(R.id.text_view)).perform(openLinkWithUri("http://www.google.com/"))

pressImeActionButton ()

pressImeActionButton () hat keine Argumente und gibt eine Ansichtsaktion zurück, die die in der Konfiguration von android: imeOptions festgelegte Aktion ausführt . Wenn beispielsweise android: imeOptions gleich actionNext ist, bewegt sich der Cursor zur nächsten möglichen EditText- Ansicht auf dem Bildschirm.

onView(withId(R.id.text_view)).perform(pressImeActionButton())

scrollTo ()

scrollTo () hat keine Argumente und gibt eine Ansichtsaktion zurück, mit der die übereinstimmende scrollView auf dem Bildschirm gescrollt wird.

onView(withId(R.id.scrollView)).perform(scrollTo())

swipeDown ()

swipeDown () hat keine Argumente und gibt eine Ansichtsaktion zurück, die eine Wischaktion auf dem Bildschirm auslöst .

onView(withId(R.id.root)).perform(swipeDown())

swipeUp ()

swipeUp () hat keine Argumente und gibt eine Ansichtsaktion zurück, die eine Swipe-up-Aktion auf dem Bildschirm auslöst .

onView(withId(R.id.root)).perform(swipeUp())

wische nach rechts()

swipeRight () hat keine Argumente und gibt eine Ansichtsaktion zurück, die die Aktion "Nach rechts wischen" auf dem Bildschirm auslöst .

onView(withId(R.id.root)).perform(swipeRight())

nach links wischen()

swipeLeft () hat keine Argumente und gibt eine Ansichtsaktion zurück, die die Aktion "Nach links wischen" auf dem Bildschirm auslöst .

onView(withId(R.id.root)).perform(swipeLeft())