Test Uiautomator

  
Framework para pruebas de IU funcionales entre apps
Actualización más reciente Versión estable Versión potencial Versión beta Versión alfa
11 de enero de 2023 - - - 2.3.0-alpha02

Cómo declarar dependencias

Para agregar una dependencia en test, debes agregar el repositorio de Maven de Google a tu proyecto. Lee sobre el repositorio de Maven de Google para obtener más información.

Agrega las dependencias de los artefactos que necesites en el archivo build.gradle de tu app o módulo:

Groovy

dependencies {
    // Use to implement UIAutomator tests
    androidTestImplementation "androidx.test.uiautomator:uiautomator:2.3.0-alpha02"
}

Kotlin

dependencies {
    // Use to implement UIAutomator tests
    androidTestImplementation("androidx.test.uiautomator:uiautomator:2.3.0-alpha02")
}

Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.

Comentarios

Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.

Crear un error nuevo

Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.

Versión 2.3.0

Versión 2.3.0-alpha02

11 de enero de 2023

Lanzamiento de androidx.test.uiautomator:uiautomator:2.3.0-alpha02. La versión 2.3.0-alpha02 contiene estas confirmaciones.

Cambios en la API

  • Se modificaron los registros de toda la biblioteca para proporcionar más información, advertir sobre posibles problemas y mejorar la coherencia.
  • Se agregó UiDevice#pressKeyCodes para admitir la presión de varias teclas simultáneamente; p. ej., presionar POWER y VOLUME_DOWN para tomar una captura de pantalla (22e525).
  • Se agregó UiDevice#setCompressedLayoutHierarchy y UiDevice#setCompressedLayoutHeirarchy dejó de estar disponible para corregir un error ortográfico en el nombre del método (4e2f65).
  • Se marcó UiAutomatorInstrumentationTestRunner como obsoleto, ya que controla objetos UiAutomatorTestCase obsoletos y ya no es necesario (be6c85).
  • Se actualizó la demora entre objetos UiObject2 MotionEvent y el doble de la frecuencia de actualización de pantalla para emular mejor los gestos del usuario (454450).
  • Se agregó compatibilidad con la coincidencia de descripciones y texto de varias líneas (1625e6, b/255787130).

Correcciones de errores

  • Se corrigieron los objetos StaleObjectException que a veces se arrojaban mientras se consultaban o se esperaban objetos (4cbcc0).
  • Se corrigieron los valores de retorno de UiScrollable#scrollToBeginning, scrollToEnd, flingToBeginning y flingToEnd, que no indicaban si se alcanzó el principio o el final (d33e06).
  • Se corrigieron los métodos UiScrollable#scrollForward y scrollBackward ignorando el tiempo de espera configurado (29e4f3).
  • Se corrigió el constructor de copias BySelector que no controlaba los selectores de profundidad (6c7b91).
  • Se corrigió el manejo de valores porcentuales no válidos en UiObject#pinchIn y pinchOut (01b973).
  • Se solucionó un problema poco frecuente por el que se perdía la compatibilidad con el modo multiventana si se restablecía la conexión de UiAutomation subyacente (1bb956).

Versión 2.3.0-alpha01

7 de septiembre de 2022

Lanzamiento de androidx.test.uiautomator:uiautomator:2.3.0-alpha01. La versión 2.3.0-alpha01 contiene estas confirmaciones.

Cambios en la API

  • Se anotó la nulidad de todos los métodos públicos.
  • Se cambió la inyección de MotionEvent a asíncrona con un breve retraso para gestos de UiObject2 más suaves.
  • Se redujo el intervalo de sondeo mientras se espera de 1,000 ms a 100 ms.
  • Se actualizaron UiDevice#wakeUp y UiDevice#sleep para usar KEYCODE_WAKEUP y KEYCODE_SLEEP a fin de admitir dispositivos que anulan el botón de encendido.
  • Se agregó UiObject2#getDisplayId y compatibilidad para encontrar y administrar objetos en varias pantallas.
  • Se agregaron los métodos UiObject#click y UiObject2#clickAndWait para hacer clic en un punto con sus coordenadas.

Correcciones de errores

  • Se solucionó un problema por el que, en ocasiones, los cálculos del tamaño de la pantalla eran incorrectos y podían ignorar partes de la pantalla, especialmente en el modo multiventana (Ifc016c).
  • Se corrigió el escalamiento de capturas de pantalla en UiDevice#takeScreenshot (Id80ad6).
  • Se mejoró la confiabilidad de Until.scrollFinished y UiObject2#scroll (I7b0595).
  • Se corrigieron las advertencias de IncorrectContextUseViolation del modo estricto (Iffa6a0).