Esta sección describe los aspectos internos de Tradefed y sus relaciones. Consulte 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 configuraciones TF
Configuraciones globales de TF
Un archivo de configuración global es una configuración XML especial de Tradefed que se carga cuando se inicia Tradefed a través de la variable de entorno TF_GLOBAL_CONFIG
. Carga objetos relacionados con el alcance de la instancia Tradefed que afectarán el comportamiento general del arnés.
Detalles de configuración global
Almacén de claves
Keystore permite la inyección de opciones de línea de comando en Tradefed provenientes de un almacén de claves para evitar hacer referencia al valor directamente en la línea de comando. Esto se puede utilizar para ocultar contraseñas de la línea de comando 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 monitorean 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 ejecutarlos, los asocia con dispositivos e inicia una invocación de prueba.
Proveedor de compilación
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 (crear imágenes, probar APK y más). También hace referencia a ellos en un objeto BuildInfo
que se pasará a la prueba. Los recursos disponibles localmente 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 objetivo bajo prueba en un estado determinado, por ejemplo, flashear el dispositivo, configurar ciertas propiedades y conectarse a Wi-Fi.
- Agregar un nuevo preparador/limpiador de objetivos
- Agregar un nuevo preparador de objetivos múltiples
corredor de prueba
Un ejecutor de pruebas en Tradefed se refiere al objeto responsable de la ejecución de la prueba real. Los diferentes ejecutores de pruebas impulsan la ejecución de las pruebas de diferentes maneras; por ejemplo, un ejecutor de pruebas de instrumentación será muy diferente de un ejecutor de pruebas JUnit.
Reportero de resultados
El reportero de resultados en Tradefed se refiere al objeto que enviará los resultados a un destino particular. Cada implementación suele estar especializada para diferentes resultados de back-end. Y el reportero de resultados está a cargo de convertir el formato de resultados de Tradefed al formato de destino.
Este diseño flexible permite que cualquier prueba se informe a cualquiera de los destinos de resultados y se agreguen fácilmente más pruebas de forma aislada.
- Agregar un reportero de resultados
- Informe de resultados y registros
- Resumen del reportero 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 puntos del ciclo de vida de la prueba (por ejemplo, inicio y fin de la prueba). Dado que el recopilador está desacoplado de la prueba misma, los puntos se pueden intercambiar, agregar y eliminar sin tener que cambiar la prueba en sí.
Configuración de todo el host
Esta sección describe las configuraciones que son aplicables a la ejecución de una instancia completa de Tradefed. Estas opciones afectan el comportamiento del arnés en su conjunto para adaptarse a diferentes entornos, por ejemplo estar en una red restringida.
Características adicionales
Las siguientes secciones describen el uso general de Tradefed en lugar de objetos Tradefed.
fragmentación comercializada
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 . Esta sección describe cómo funciona la fragmentación y cómo se configura.
Usando SL4A
Tradefed admite la capa de secuencias de comandos para Android, SL4A; Este es un conjunto de herramientas de automatización para llamar a las API de Android de manera independiente de la plataforma.
Descarga dinámica @option
En algunos casos, los archivos necesarios para una prueba o alguna operación particular no están disponibles localmente. Esta característica permite a Tradefed obtener estos archivos desde una ubicación remota sin recurrir a un proveedor de compilación.