Arquitectura comercializada

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.

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.

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.

Detalles de fragmentación

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.

SL4A con detalles de Tradefed

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.

Descarga dinámica @option