Marco de prueba de Espresso: Ver acciones

Como se aprendió anteriormente, las acciones de visualización automatizan todas las acciones posibles que pueden realizar los usuarios en una aplicación de Android. Espresso onView y "onData" proporcionan el método perform , que acepta acciones de visualización e invoca / automatiza las acciones de usuario correspondientes en el entorno de prueba. Por ejemplo, "click ()" es una acción de visualización, que cuando se pasa al método onView ( R.id.myButton ) .perform (click ()) , activará el evento de clic del botón (con id: "myButton" ) en el entorno de prueba.

En este capítulo, aprendamos sobre las acciones de visualización proporcionadas por el marco de prueba de espresso.

teclee el texto()

typeText () acepta un argumento (texto) de tipo String y devuelve una acción de visualización. La acción de vista devuelta escribe el texto proporcionado en la vista. Antes de colocar el texto, toca la vista una vez. El contenido puede colocarse en una posición arbitraria si ya contiene texto.

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

typeTextIntoFocusedView ()

typeTextIntoFocusedView () es similar a typeText () excepto que coloca el texto justo al lado de la posición del cursor en la vista.

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

replaceText ()

replaceText () es similar a typeText () excepto que reemplaza el contenido de la vista.

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

Borrar texto()

clearText () no tiene argumentos y devuelve una acción de vista, que borrará el texto en la vista.

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

pressKey ()

pressKey () acepta el código de la tecla (por ejemplo, KeyEvent.KEYCODE_ENTER) y devuelve una acción de visualización, que presionará la tecla corresponde al código de la tecla.

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

pressMenuKey ()

pressMenuKey () no tiene argumentos y devuelve una acción de visualización, que presionará la tecla del menú del hardware.

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

closeSoftKeyboard ()

closeSoftKeyboard () no tiene argumentos y devuelve una acción de vista, que cerrará el teclado, si se abre uno.

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

hacer clic()

click () no tiene argumentos y devuelve una acción de vista, que invocará la acción de clic de la vista.

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

haga doble clic()

doubleClick () no tiene argumentos y devuelve una acción de vista, que invocará la acción de doble clic de la vista.

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

longClick ()

longClick () no tiene argumentos y devuelve una acción de vista, que invocará la acción de clic largo de la vista.

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

presione Atrás ()

pressBack () no tiene argumentos y devuelve una acción de visualización, que hará clic en el botón Atrás.

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

pressBackUnconditionally ()

pressBackUnconditionally () no tiene argumentos y devuelve una acción de vista, que hará clic en el botón Atrás y no lanzará una excepción si la acción del botón Atrás sale de la aplicación.

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

enlace abierto()

openLink () tiene dos argumentos. El primer argumento (texto del enlace) es de tipo Matcher y se refiere al texto de la etiqueta de anclaje HTML. El segundo argumento (url) es del tipo Matcher y hace referencia a la url de la etiqueta de anclaje HTML. Es aplicable solo para TextView . Devuelve una acción de vista, que recopila todas las etiquetas de anclaje HTML disponibles en el contenido de la vista de texto, encuentra la etiqueta de anclaje que coincide con el primer argumento (texto del enlace) y el segundo argumento (url) y finalmente abre la URL correspondiente. Consideremos una vista de texto que tiene el contenido como:

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

Luego, el enlace se puede abrir y probar utilizando el siguiente caso de prueba,

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

Aquí, openLink obtendrá el contenido de la vista de texto, encontrará el enlace con derechos de autor como texto, www.google.com como url y abrirá la url en un navegador.

openLinkWithText ()

openLinkWithText () tiene un argumento, que puede ser de tipo ** String * o Matcher. Es simplemente un atajo al método openLink *.

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

openLinkWithUri ()

openLinkWithUri () tiene un argumento, que puede ser de tipo String o Matcher. Es simplemente un breve corte en el Openlink método *.

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

pressImeActionButton ()

pressImeActionButton () no tiene argumentos y devuelve una acción de vista, que ejecutará la acción establecida en la configuración de android: imeOptions . Por ejemplo, si android: imeOptions es igual a actionNext, esto moverá el cursor a la siguiente vista de EditText posible en la pantalla.

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

scrollTo ()

scrollTo () no tiene argumentos y devuelve una acción de vista, que desplazará el scrollView coincidente en la pantalla.

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

deslizar hacia abajo()

swipeDown () no tiene argumentos y devuelve una acción de visualización, que activará la acción de deslizar hacia abajo en la pantalla.

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

muévase hacia arriba()

swipeUp () no tiene argumentos y devuelve una acción de visualización, que activará la acción de deslizar hacia arriba en la pantalla.

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

desliza a la derecha()

swipeRight () no tiene argumentos y devuelve una acción de visualización, que activará la acción de deslizar hacia la derecha en la pantalla.

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

deslizar a la izquierda()

swipeLeft () no tiene argumentos y devuelve una acción de visualización, que activará la acción de deslizar hacia la izquierda en la pantalla.

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