Tutorial de uso de framework espresso

Marco espresso

1. Preparación

1.1 Configuración de dependencia

1.2 Eliminar interferencia

2. Arquitectura espresso

2.1 Vista de posicionamiento (onView / onData)

2.2 [Vista de operación (realizar)] (# Vista de operación)

2.3 [Vista de afirmación (verificación)] (# Vista de afirmación)

Preparación

Configuración de dependencia

1. Agregar dependencias

androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.1')
androidTestImplementation 'com.android.support.test:runner:1.0.2'
implementation files('libs/mockito-core-2.21.0.jar')
testImplementation 'junit:junit:4.12'

2. Configure el corredor de prueba

Configure testIntrumentRunner en el área defaultConfig del archivo build.gradle en el módulo de la aplicación

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

Eliminar interferencias

En las opciones de desarrollador, desactive algunas configuraciones que puedan afectar la transición de animación.

Arquitectura espresso

 Espresso tiene tres clases importantes, a saber, Matchers, ViewAction y ViewAssertions, donde Matchers a menudo necesita encontrar componentes de la interfaz de usuario o filtrar la interfaz de usuario a través de condiciones coincidentes, y ViewAction es simular usuarios El comportamiento de la interfaz de operación, ViewAssertions transforma y valida la vista que simula la operación de comportamiento

1. Vista de posicionamiento (onView / onData)

La clase de elementos de posicionamiento es com.android.support.test.espresso.Espresso. Hay dos métodos onView () y onData () en esta clase para ubicar el nombre del método View normal: com.android.support.test.espresso.Espresso.onVew ( ) Método de declaración pública estática ViewInteraction onView (final Matcher viewMatcher) Ingrese ViewMatchers para describir la clase de herramienta Ver que está buscando android.support.test.espresso.matcher.ViewMatchers Hay una variedad de métodos de fábrica estáticos en la clase ViewMatchers que se utilizan para generar ViewMatcher para elementos de posicionamiento (consulte la sección general Principio de posicionamiento de vista). El valor ViewInteraction representa una vista procesable android.support.test.espresso.ViewInteraction principio de posicionamiento id ViewMatchers.withId () texto ViewMatchers.withText () tipo de clase ViewMatchers.instanceOf () actualmente tiene el diseño principal de ViewMatchers.hasFocus (). . .

Localice el
nombre del método View onData () del adaptador com.android.support.test.espresso.Espresso.onData ()
declaración del método público estático DataInteraction onData (Matcher <? Extends Object> dataMatcher)
principio de posicionamiento En una fila en el
parámetro de entrada, DataMatchers se usa para expresar ViewMatchers.instanceOf, que es la
     clase de vista del adaptador heredado que se encuentra
     . . . 
El valor de retorno DataInteraction representa el conjunto de datos que se puede manipular android.support.test.espresso.DataInteraction

En segundo lugar, operar la Vista (realizar)

Realizar una operación en un elemento (realizar) ViewInteraction / DataInteraction perform () se puede encadenar para llamar a viewInteraction.perform (xx1) .perform (xx2) ...; parámetro android.support.test.espresso.action.ViewActions acciones comunes en la clase de herramienta ViewActions click (): haga clic en tipo de operación Text (): ingrese texto clearText (): borre texto replaceText (): reemplace texto. . .

Tres, afirmar Ver (verificar)

Tres, juzgue el
método de verificación de resultado de ejecución check () android.support.test.espresso.ViewInteraction.check ()
parámetros entrantes ViewAssertion ViewAssertions clase de herramienta

Cuatro, sincronización de subprocesos

Cuarto, sincronización de hilos
IddlingResoureces
https://developer.android.google.cn/reference/android/support/test/uiautomator/UiWatcher

Referencias
https://www.jianshu.com/p/c5da84eae63b
https://www.jianshu.com/p/474f276986ac
https://blog.csdn.net/u013247461/article/details/81042763

Supongo que te gusta

Origin www.cnblogs.com/peter-dev/p/10688080.html
Recomendado
Clasificación