Espresso Testing Framework - Visualizza azioni

Come appreso in precedenza, le azioni di visualizzazione automatizzano tutte le azioni possibili eseguibili dagli utenti in un'applicazione Android. Espresso onView e "onData" forniscono il metodo perform , che accetta azioni di visualizzazione e richiama / automatizza le azioni utente corrispondenti nell'ambiente di test. Ad esempio, "click ()" è un'azione di visualizzazione, che quando passata al metodo onView ( R.id.myButton ) .perform (click ()) , attiverà l'evento clic del pulsante (con id: "myButton" ) nell'ambiente di test.

In questo capitolo, impariamo a conoscere le azioni di visualizzazione fornite da espresso testing framework.

typeText ()

typeText () accetta un argomento (testo) di tipo String e restituisce un'azione di visualizzazione. L'azione di visualizzazione restituita digita il testo fornito nella visualizzazione. Prima di posizionare il testo, tocca la vista una volta. Il contenuto può essere collocato in una posizione arbitraria se contiene già testo.

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

typeTextIntoFocusedView ()

typeTextIntoFocusedView () è simile a typeText () tranne per il fatto che posiziona il testo proprio accanto alla posizione del cursore nella vista.

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

sostituireTesto ()

replaceText () è simile a typeText () tranne per il fatto che sostituisce il contenuto della vista.

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

testo chiaro()

clearText () non ha argomenti e restituisce un'azione di visualizzazione, che cancellerà il testo nella visualizzazione.

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

pressKey ()

pressKey () accetta il codice chiave (ad esempio KeyEvent.KEYCODE_ENTER) e restituisce un'azione di visualizzazione, che premerà il tasto corrispondente al codice chiave.

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

pressMenuKey ()

pressMenuKey () non ha argomenti e restituisce un'azione di visualizzazione, che premerà il tasto del menu hardware.

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

closeSoftKeyboard ()

closeSoftKeyboard () non ha argomenti e restituisce un'azione di visualizzazione, che chiuderà la tastiera, se ne viene aperta una.

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

clic()

click () non ha argomenti e restituisce un'azione di visualizzazione, che richiamerà l'azione di clic della vista.

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

doppio click()

doubleClick () non ha argomenti e restituisce un'azione di visualizzazione, che richiamerà l'azione di doppio clic della visualizzazione.

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

longClick ()

longClick () non ha argomenti e restituisce un'azione di visualizzazione, che richiamerà l'azione di clic lungo della visualizzazione.

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

pressBack ()

pressBack () non ha argomenti e restituisce un'azione di visualizzazione, che farà clic sul pulsante Indietro.

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

pressBackUnconditionally ()

pressBackUnconditionally () non ha argomenti e restituisce un'azione di visualizzazione, che farà clic sul pulsante Indietro e non genera un'eccezione se l'azione del pulsante Indietro esce dall'applicazione stessa.

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

link aperto()

openLink () ha due argomenti. Il primo argomento (testo del collegamento) è di tipo Matcher e fa riferimento al testo dell'anchor tag HTML. Il secondo argomento (url) è del tipo Matcher e fa riferimento all'URL del tag di ancoraggio HTML. È applicabile solo per TextView . Restituisce un'azione di visualizzazione, che raccoglie tutti i tag di ancoraggio HTML disponibili nel contenuto della vista testo, trova il tag di ancoraggio che corrisponde al primo argomento (testo del collegamento) e al secondo argomento (url) e infine apre l'URL corrispondente. Consideriamo una visualizzazione di testo con il contenuto come:

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

Quindi, il collegamento può essere aperto e testato utilizzando il seguente test case,

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

Qui, openLink otterrà il contenuto della visualizzazione del testo, troverà il collegamento con copyright come testo, www.google.com come URL e aprirà l'URL in un browser.

openLinkWithText ()

openLinkWithText () ha un argomento, che può essere di tipo ** String * o Matcher. È semplicemente una scorciatoia per il metodo openLink *.

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

openLinkWithUri ()

openLinkWithUri () ha un argomento, che può essere di tipo String o Matcher. È semplicemente un breve taglio al Openlink metodo *.

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

pressImeActionButton ()

pressImeActionButton () non ha argomenti e restituisce un'azione di visualizzazione, che eseguirà l'azione impostata nella configurazione android: imeOptions . Ad esempio, se android: imeOptions è uguale a actionNext, questo sposterà il cursore alla successiva visualizzazione EditText possibile sullo schermo.

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

scrollTo ()

scrollTo () non ha argomenti e restituisce un'azione di visualizzazione, che scorrerà sullo schermo lo scrollView corrispondente.

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

swipeDown ()

swipeDown () non ha argomenti e restituisce un'azione di visualizzazione, che attiverà un'azione di scorrimento verso il basso sullo schermo.

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

scorrere verso l'alto()

swipeUp () non ha argomenti e restituisce un'azione di visualizzazione, che attiverà un'azione di scorrimento verso l'alto sullo schermo.

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

swipeRight ()

swipeRight () non ha argomenti e restituisce un'azione di visualizzazione, che attiverà un'azione di scorrimento a destra sullo schermo.

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

scorrere verso sinistra()

swipeLeft () non ha argomenti e restituisce un'azione di visualizzazione, che attiverà un'azione di scorrimento verso sinistra sullo schermo.

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