En esta sección, se describen los aspectos internos de Tradefed y sus relaciones. Consulta las subpáginas vinculadas para obtener más detalles.
Configuraciones de prueba
Las configuraciones de prueba en Tradefed se describen en formato XML. Comprender la estructura de la configuración es clave para ejecutar y personalizar pruebas.
Estructura de los parámetros de configuración de TF
Configuración global de TF
Un archivo de configuración global es una configuración especial de XML de Tradefed que se carga cuando Tradefed se inicia mediante la variable de entorno TF_GLOBAL_CONFIG
. Carga objetos relacionados con el alcance de la instancia de Tradefed que afectarán el comportamiento general del arnés.
Detalles de la configuración global
Almacén de claves
Keystore permite inyectar opciones de línea de comandos a Tradefed desde un almacén de claves para evitar hacer referencia al valor directamente en la línea de comandos. Esto se puede usar para ocultar contraseñas de la línea de comandos recuperando contraseñas directamente del almacén de claves.
Detalles del almacén de claves
Administrador de dispositivos
El administrador de dispositivos es responsable de realizar un seguimiento del estado de los dispositivos en una instancia en ejecución de Tradefed. Se supervisan aspectos como el estado de asignación y el estado en línea.
Programador de comandos de prueba
El programador de comandos de prueba en Tradefed toma comandos para ejecutar, los asocia con dispositivos y comienza una invocación de prueba.
Cómo crear un proveedor
El proveedor de compilación es el primer paso de cualquier invocación de prueba. Descarga los recursos necesarios para configurar y ejecutar las pruebas (compilación de imágenes, prueba de APKs y mucho más). También hace referencia a ellos en un objeto BuildInfo
que se pasará a la prueba. Los recursos disponibles de forma local también se pueden vincular en el objeto BuildInfo
.
Preparador y limpiador de objetivos
El preparador de objetivos ofrece acciones opcionales que se pueden realizar para configurar el destino que se prueba en un estado determinado, por ejemplo, escribir en la memoria flash del dispositivo, establecer ciertas propiedades y conectarte a Wi-Fi.
- Agrega un nuevo preparador/limpiador de objetivos
- Cómo agregar un nuevo preparador de múltiples objetivos
Ejecutor de pruebas
Un ejecutor de pruebas en Tradefed hace referencia al objeto responsable de la ejecución real de la prueba. Los ejecutores de pruebas impulsan la ejecución de pruebas de maneras distintas. Por ejemplo, un ejecutor de pruebas de instrumentación será muy diferente de un ejecutor de pruebas de JUnit.
Informante de resultados
El generador de informes de resultados en Tradefed hace referencia al objeto que enviará los resultados a un destino en particular. Por lo general, cada implementación está especializada para diferentes backend de resultados. Y el generador de informes de resultados se encarga de convertir el formato de resultados de Tradefed al formato de destino.
Este diseño flexible permite que cualquier prueba informe a cualquiera de los destinos de resultados y que se agreguen más pruebas de forma aislada con facilidad.
- Cómo agregar un generador de informes de resultados
- Informes de resultados y registros
- Resumen del generador de informes de resultados
Recopilador de métricas
El recopilador de métricas es un objeto especial en Tradefed, ortogonal a la ejecución de la prueba. Permite recopilar información en diferentes momentos del ciclo de vida de la prueba (por ejemplo, inicio y fin de la prueba). Dado que el recopilador está desacoplado de la prueba en sí, los puntos se pueden intercambiar, agregar y quitar sin tener que cambiar la prueba.
Configuración de todo el host
En esta sección, se describen las configuraciones aplicables a la ejecución de una instancia completa de Tradefed. Estas opciones afectan el comportamiento del arnés en su totalidad para adaptarse a diferentes entornos, por ejemplo, estar en una red restringida.
Funciones adicionales
En las siguientes secciones, se describe el uso general de los objetos Tradefed en lugar de los de Tradefed.
División de Tradefed
Cuando el corpus de prueba es grande o tarda mucho en ejecutarse, es posible dividirlo en varios dispositivos. Nos referimos a esta división como fragmentación. En esta sección, se describe cómo funciona el particionamiento y cómo se configura.
Cómo usar SL4A
Tradefed admite la capa de secuencias de comandos para Android, SL4A, que es un conjunto de herramientas de automatización para llamar a las APIs de Android de forma independiente de la plataforma.
Descarga dinámica de @option
En algunos casos, los archivos que necesita una prueba o alguna operación en particular no están disponibles de forma local. Esta función permite que Tradefed obtenga estos archivos desde una ubicación remota sin pasar por un proveedor de compilación.