OmniLab ATS es una herramienta de pruebas que los desarrolladores de Android y los ingenieros de pruebas pueden usar para emplear una interfaz de usuario que ejecute paquetes de pruebas de Android estándar, como el Conjunto de pruebas de compatibilidad de Android (CTS). Esta herramienta actúa como una interfaz web para varios frameworks de pruebas, como Trade Federation (TF) y Google Mobly, lo que te permite ejecutar pruebas de CTS y multidispositivo en un conjunto de dispositivos de prueba con una configuración mínima, así como establecer un programa para ejecutar pruebas de forma continua.
Introducción a OmniLab ATS 2.0
OmniLab ATS 2.0 migra la infraestructura de ejecución de pruebas subyacente de Trade Federation a OmniLab. Este cambio aporta un backend más sólido y eficiente, a la vez que conserva la interfaz de usuario y los flujos de trabajo de OmniLab ATS 1.0.
Beneficios clave de OmniLab ATS 2.0:
- Infraestructura modernizada: Aprovecha la plataforma de OmniLab para mejorar la estabilidad y el rendimiento.
- Transición sin problemas: No hay cambios en la IU web ni en los flujos de trabajo principales de ejecución de pruebas.
- Preparación para el futuro: Se alinea con la infraestructura de pruebas unificada de Google, lo que permite una adopción más rápida de las funciones nuevas.
OmniLab ATS 2.0 incluye nuevas funciones, como actualizaciones masivas de planes de pruebas, asignación avanzada de dispositivos y mucho más. Consulta las notas de la versión para conocer las actualizaciones.
Actualiza a OmniLab ATS 2.0:
Para usar OmniLab ATS 2.0, debes actualizar tu estación a la compilación R52 o una versión posterior. Usa la marca --force_ats_version 2 para cambiar al nuevo
Omnilab ATS 2.0 y la marca --force_update con el
comando mtt start para actualizar a la compilación más reciente:
mtt start --force_ats_version 2 --force_update
Durante el período de migración, te recomendamos que uses la etiqueta dogfood para acceder a la
compilación estable más reciente con las funciones de OmniLab ATS 2.0:
mtt start --force_ats_version 2 --tag dogfood --force_update
Planeamos que OmniLab ATS 2.0 sea la versión predeterminada en el tercer trimestre de 2026. Planeamos eliminar gradualmente OmniLab ATS 1.0 para fines de 2026.
Para obtener más detalles sobre actualizaciones específicas, diferencias conocidas y orientación para la actualización, consulta la guía de actualización de OmniLab ATS 2.0.
Configura OmniLab ATS
En esta sección, se explica cómo instalar y configurar OmniLab ATS.
OmniLab ATS usa el código fuente de estas ubicaciones:
- Código fuente de OmniLab ATS
- Código fuente del clúster de TradeFed
Instala OmniLab ATS
Sigue los requisitos de hardware y software para los paquetes de pruebas que ejecutes.
Los requisitos del CTS se encuentran en source.android.com.
No hay requisitos de hardware adicionales para OmniLab ATS, pero recomendamos usar el requisito de host de CTS como punto de partida.
Existen dos maneras de instalar OmniLab ATS:
- Ejecuta el programa de instalación.
- Instalarlo de forma manual, lo que requiere instalar varios programas y recursos
Instala con el programa de instalación
El programa de instalación es compatible con Ubuntu 22.04 y versiones posteriores. El instalador instala y configura todos los programas y recursos necesarios para ejecutar OmniLab ATS.
Para usar el programa de instalación, haz lo siguiente:
Ejecuta el programa de instalación:
curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
Ejecuta
mtt versionpara verificar la versión instalada de la CLI de OmniLab ATS.
Instalación manual
Instala Docker
Sigue las instrucciones para instalar Docker Community Edition (CE) en tu máquina de Linux.
Sigue los pasos posteriores a la instalación para administrar Docker como un usuario no raíz.
Es posible que debas reiniciar la ventana de terminal o salir y volver a acceder para que se apliquen los cambios de permisos.
Instala Python 3
La CLI de ATS de OmniLab requiere Ubuntu 22.04 o una versión posterior. La CLI se verifica con las versiones de Python 3.10 a 3.13.
Para instalar Python 3, ejecuta estos comandos:
sudo apt-get updatesudo apt install python3 python3-distutils
Si necesitas una versión de Python 3 que no esté incluida en tu distribución estándar, primero agrega el repositorio para Python 3 con una de las siguientes opciones:
Ejecuta este comando:
sudo add-apt-repository ppa:deadsnakes/ppa
Compila e instala el repositorio desde la fuente.
Para instalar una versión específica de Python 3 (por ejemplo, 3.10), ejecuta estos comandos en su lugar:
sudo apt-get updatesudo apt install python3.10 python3.10-distutils
Obtén la CLI de OmniLab ATS
Descarga el paquete de la interfaz de línea de comandos (CLI) aquí.
Inicia OmniLab ATS
Inicia OmniLab ATS con el siguiente comando:
mtt start
La primera vez que se inicia la IU, puede tardar unos minutos en aparecer. La CLI
muestra una URL web para acceder a la IU en un navegador. De forma predeterminada, la URL web es
localhost:8000. Si es necesario, puedes cambiar el puerto predeterminado durante el inicio con
la marca --port.
Si hay una versión más reciente disponible, puedes actualizar a la versión actual. Puedes consultar las notas de la versión para conocer las versiones más recientes.
Para actualizar a la versión actual, ejecuta lo siguiente:
mtt start --force_update
Para detener la app, ejecuta lo siguiente:
mtt stop
Para ver una lista de otros comandos, usa lo siguiente:
mtt --help
Crea una copia de seguridad y restablece la base de datos
Para crear una copia de seguridad de la base de datos de ATS de OmniLab, detén la app y ejecuta el siguiente comando,
que crea una copia de seguridad de la base de datos actual en un archivo TAR llamado mtt-backup.tar en
tu directorio principal:
docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar cvf /out/mtt-backup.tar ."
Para restablecer, ejecuta el siguiente comando antes de iniciar la app:
docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar xvf /out/mtt-backup.tar"
Asistente de configuración
Después de instalar y ejecutar OmniLab ATS por primera vez, el asistente de configuración te guiará por algunos pasos para ayudarte a personalizar la herramienta para tu entorno. Cualquier cambio que realices aquí se puede volver a configurar más adelante en la página Configuración.
Restablece una copia de seguridad de la configuración
Si tienes una copia de seguridad del archivo de configuración de otro host de ATS de OmniLab, puedes subir el archivo para copiar cualquier configuración modificada de ese host haciendo clic en el botón Subir archivo.
Figura 1: Restablece una copia de seguridad de la configuración.
Configura la cuenta de servicio predeterminada
Puedes configurar una cuenta de servicio que OmniLab ATS use de forma predeterminada cuando acceda a tus recursos (por ejemplo, Google Cloud Storage o Google Drive). Para autenticar tu cuenta de servicio, haz clic en Subir clave de cuenta de servicio y selecciona el archivo de claves JSON de tu cuenta de servicio.
Figura 2: Configura la cuenta de servicio.
Cuando la cuenta de servicio se autentica correctamente, la dirección de correo electrónico de la cuenta aparece en la esquina superior derecha de la página. Para cambiar la cuenta de servicio, haz clic en el nombre de la cuenta, quita la cuenta predeterminada actual y sube una clave de cuenta de servicio nueva.
Figura 3: Cambiar la cuenta de servicio
Importa conjuntos de configuración
Un conjunto de configuración es un paquete de parámetros de configuración para ejecutar paquetes de pruebas, incluidas las acciones de dispositivo relacionadas y los canales de compilación. Los conjuntos de configuración se alojan en un bucket específico de Google Cloud Storage (GCS). Después de autenticar el canal de compilación de GCS con tu Cuenta de Google, verás una lista de todos los conjuntos de configuración disponibles.
Selecciona los conjuntos de configuración que quieras agregar a tu host de Test Station y haz clic en Importar seleccionados.
Figura 4: Importar un conjunto de configuración
Incluye la configuración de Wi-Fi
Algunas pruebas de CTS requieren que tu dispositivo se conecte a un hotspot de Wi-Fi. Para seleccionar tu red Wi-Fi, ingresa el SSID de Wi-Fi y la PSK de Wi-Fi opcional.
Figura 5: Configuración del hotspot de Wi-Fi
Después de completar el asistente de configuración, la página se vuelve a cargar con la configuración nueva aplicada.
Conectar dispositivo
La depuración por USB debe estar habilitada para usar un dispositivo para realizar pruebas. Para habilitar la depuración, haz lo siguiente:
Sigue las instrucciones que se indican en Habilita las Opciones para desarrolladores y la depuración por USB.
Si planeas usar compilaciones de Android de prueba precargadas con claves de ADB personalizadas, coloca los archivos
.adb_keypersonalizados en el directorio~/.android/.Los archivos se cargan automáticamente y se pasan a ADB para habilitar la depuración por USB de forma automática después de que se actualiza el dispositivo para los dispositivos que ejecutan esas compilaciones.
Conecta el dispositivo a la máquina anfitrión por USB.
El dispositivo aparecerá en la pestaña OmniLab ATS Devices en un minuto después de actualizar la interfaz web. También puedes ver el estado de los dispositivos en esta pestaña.
Figura 6: Conectando un dispositivo.
Los diferentes estados del dispositivo son los siguientes:
- Disponible: El dispositivo está conectado y listo para ejecutar una prueba.
- Asignado: El dispositivo está conectado y ejecutando una prueba. Cada dispositivo puede ejecutar solo una prueba a la vez, por lo que debe finalizar la prueba actual antes de ejecutar una nueva.
Ejecutar una prueba
Selecciona una prueba
OmniLab ATS incluye un conjunto de parámetros de configuración de CTS preempaquetados. Para ejecutar una de estas pruebas, ve a la pestaña Paquetes de pruebas y haz clic en Ejecutar prueba para la prueba seleccionada.
Figura 7: Selecciona una prueba.
Para editar o agregar pruebas nuevas, consulta Cómo agregar pruebas.
Cómo configurar la ejecución de la prueba
Edita los parámetros que se usarán para esta ejecución de prueba específica. La mayoría de los parámetros se completan previamente con los valores definidos en la configuración de prueba seleccionada.
Este paso se puede completar con los valores predeterminados, pero puedes cambiar cualquiera de los parámetros, como Reintentos máximos y Comando, para que se adapten a tus necesidades.
Figura 8: Configuración de una ejecución de prueba.
Los parámetros de ejecución de la prueba son los siguientes:
- Nombre: Es el nombre del paquete de pruebas que deseas ejecutar.
- Cantidad de ejecuciones: Es la cantidad de veces que se debe ejecutar esta prueba cuando se programa. Las ejecuciones de pruebas se programan con Trade Federation, que ejecuta hasta 20 pruebas en paralelo si hay capacidad para hacerlo.
- Cantidad máxima de reintentos: Es la cantidad máxima de veces que se puede reintentar una ejecución de prueba si falla al menos una prueba. Por lo general, se establece en 4 a 6 reintentos para una ejecución completa de CTS con el objetivo de controlar las pruebas inestables.
- Tiempo de espera de la cola: Si una ejecución de prueba permanece en el estado En cola durante demasiado tiempo, se cancela automáticamente. Especifica la cantidad de tiempo que se debe esperar antes de la cancelación aquí. El valor predeterminado es de 24 horas.
Comando: Es el comando para ejecutar el paquete de pruebas. Aquí puedes ingresar argumentos adicionales de la línea de comandos. Por ejemplo, ejecuta un módulo específico en CTS 8.1 con lo siguiente:
cts-suite -m ShortModuleNameComando de reintento: Es el comando para volver a intentar un paquete de pruebas. Aquí puedes agregar argumentos adicionales de la línea de comandos. Por ejemplo, para reintentar solo un módulo específico en CTS 8.1, usa lo siguiente:
cts --retry 0 -m ShortModuleNameLos argumentos de reintento pueden diferir de los disponibles con el comando inicial, así que verifica los parámetros admitidos en el sitio oficial del paquete de pruebas seleccionado.
Ejecución de prueba anterior: Si quieres volver a ejecutar una prueba anterior, haz lo siguiente:
Local: Si la ejecución se inició en el host actual, ingresa el ID de la ejecución de prueba que se muestra cuando se ven los detalles de la ejecución de prueba.
Figura 9: Ejecución de prueba anterior local.
Remoto: Si la ejecución se inició en un host diferente, selecciona Remoto, haz clic en Subir archivo de resultados de la prueba y selecciona un archivo de tu almacenamiento local para subirlo.
Figura 10: Ejecución de prueba anterior remota.
Dispositivos selectos
Haz clic en las casillas de verificación para seleccionar los dispositivos que se asignarán para ejecutar el paquete de pruebas. El recuento de fragmentos debería cambiar automáticamente para coincidir con la cantidad de dispositivos seleccionados.
Figura 11: Seleccionar dispositivos
Para seleccionar dispositivos por atributos que no sean los números de serie, puedes ingresar manualmente las "Especificaciones del dispositivo". Por ejemplo, para seleccionar 3 dispositivos cuyo nombre de producto sea "bramble", ingresa lo siguiente:
product:bramble;product:bramble;product:bramble
Los atributos admitidos son los siguientes:
- build_id
- device_serial
- device_type
- Nombre de host
- producto
- product_variant
- sim_state
Todos los dispositivos seleccionados deben estar en el estado Disponible para ejecutar la prueba, y todos cambian al estado Asignado cuando se ejecuta la prueba. Una ejecución de prueba se encuentra en el estado En cola mientras espera que los dispositivos estén disponibles.
Cómo agregar acciones del dispositivo
Las acciones del dispositivo son secuencias de comandos que se pueden ejecutar antes de cada ejecución de prueba. Algunas acciones del dispositivo ya están configuradas, como la actualización y el reinicio. Para crear acciones de dispositivo nuevas, consulta Crea una acción de dispositivo nueva.
Figura 12: Acciones del dispositivo
Para agregar una acción de dispositivo a una ejecución de prueba, haz clic en Add new action, selecciona las casillas de verificación de las acciones que quieras agregar y haz clic en Add Action(s). Las acciones del dispositivo se realizan de forma secuencial. Para cambiar el orden de las acciones, arrástralas.
Figura 13: Reordenando acciones.
Establece recursos de prueba
Los recursos de prueba son archivos necesarios para ejecutar una prueba. Por ejemplo, para ejecutar CTS, se requiere un archivo android-cts*.zip, y para escribir en la memoria flash de un dispositivo, debes proporcionar la imagen de compilación.
La URL de descarga del archivo ZIP del paquete de pruebas debe ser, de forma predeterminada, los vínculos de Google Drive que se proporcionan a los socios. Para seleccionar otro archivo, haz clic en Explorar. En la ventana emergente, puedes ingresar un vínculo de descarga de archivos, usar un archivo de un canal de compilación autenticado o subir un archivo para usarlo desde el almacenamiento local.
Figura 14: Recursos de prueba
A continuación, se muestra la ventana emergente para seleccionar un recurso de prueba por medio de una URL web. Puedes ingresar el vínculo de la URL de descarga y hacer clic en el botón Seleccionar para confirmar la selección.
Figura 15: Prueba el selector de recursos: URL web.
Si subiste recursos a Google Drive, Google Cloud Storage (GCS) o a otros canales, también puedes navegar a la pestaña del canal específico y seleccionar los recursos allí. Este es un ejemplo de cómo seleccionar un recurso de Google Drive.
Figura 16: Test Resource Selector - Google Drive.
Además de seleccionar archivos, también se admiten caracteres comodín en el campo Nombre de archivo. La documentación se puede encontrar aquí.
Figura 17: Selector de recursos de prueba: Compatibilidad con patrones de comodines.
También puedes seleccionar un archivo del almacenamiento de archivos local de OmniLab ATS. Puedes subir archivos a este almacenamiento o usar directamente archivos y directorios locales.
Figura 18: Selector de recursos de prueba: Almacén de archivos local.
Agrega parámetros de configuración para volver a ejecutar la canalización
Puedes programar nuevas ejecuciones que comiencen después de que se complete la ejecución principal y cargar sus resultados, pero puedes usar diferentes dispositivos, acciones o recursos.
Figura 19: Agrega parámetros de configuración de repetición de ejecución.
Iniciar una ejecución de prueba
Después de ingresar la información necesaria para la ejecución de prueba, haz clic en Iniciar ejecución de prueba. Si toda la información es válida, se inicia la ejecución de la prueba y se te redirecciona a una página para ver los detalles y el progreso de la ejecución de la prueba.
Figura 20: Inicia una ejecución de prueba.
Crea un plan de prueba
Los planes de prueba se usan para crear ejecuciones de pruebas de forma periódica. Por ejemplo, ejecutar CTS 9.0 todos los días a las 5 p.m. Para crear un plan de pruebas nuevo, haz clic en Crear un plan de pruebas nuevo.
Figura 21: Crear un plan de prueba
Configura el plan de prueba
Ingresa el nombre del plan de pruebas y las etiquetas que quieras agregar. Luego, selecciona un programa para usar.
- Manual: El plan de prueba crea ejecuciones de prueba solo cuando un usuario hace clic en Ejecutar plan de prueba en la página de la lista de planes de prueba.
- Periódico: El plan de pruebas programa automáticamente las ejecuciones de pruebas según el programa periódico seleccionado. Por ejemplo, programar una ejecución de prueba todos los días a las 5:00 p.m.
- Personalizado: El plan de pruebas programa automáticamente las ejecuciones de pruebas según la expresión cron ingresada. Por ejemplo,
para programar una ejecución de prueba todos los días a las 5:00 p.m., la expresión cron es
0 17 * * *.
Figura 22: Configura un plan de prueba.
Agrega paquetes de pruebas
Para agregar los paquetes de pruebas que quieres que programe el plan de prueba, haz clic en + Agregar configuración de ejecución de prueba. Selecciona un paquete de pruebas en el menú desplegable Nombre y haz clic en Siguiente paso. Luego, selecciona los dispositivos en los que quieras ejecutar la prueba y haz clic en Add Configuration. Puedes agregar varias configuraciones para cada plan de prueba.
Figura 23: Configura una ejecución de prueba.
Cómo agregar acciones del dispositivo
Agrega las acciones del dispositivo que quieras que se ejecuten antes de cada ejecución de prueba. Consulta Cómo agregar acciones de dispositivo para obtener más detalles.
Figura 24: Agrega acciones del dispositivo.
Establece recursos de prueba
Agregar recursos de prueba a los planes de prueba es lo mismo que agregarlos a ejecuciones de prueba individuales. Consulta Cómo configurar recursos de prueba para obtener más detalles.
Figura 25: Configurando los recursos de prueba.
Cómo ver las ejecuciones de prueba
Lista de ejecuciones de prueba
Consulta la lista de ejecuciones de pruebas programadas en la página Ejecuciones de pruebas. Haz clic en Ver para obtener más detalles sobre una ejecución de prueba.
También puedes filtrar la lista ingresando una cadena en la barra de filtros y presionando la tecla Intro. Puedes usar varios filtros separándolos con una coma. El filtro muestra todas las filas que contienen el texto exacto (sin coincidencia de subcadena) en cualquier columna, excepto Estado y Creado.
Un filtro vacío devuelve todas las filas. Por el momento, no hay forma de filtrar las filas con valores vacíos.
Figura 26. Es la lista de ejecuciones de pruebas.
Detalles de la ejecución de prueba
Aquí puedes ver los detalles de una ejecución de prueba, como el estado, los registros y los resultados.
Figura 27: Detalles de la ejecución de la prueba.
Estado de la ejecución de prueba
El progreso de una ejecución de prueba se muestra en la sección Estado. Si hay un mensaje relacionado, como el progreso de la descarga, el motivo de la cancelación o un mensaje de error, también se muestra aquí.
Figura 28: Es el estado de la ejecución de la prueba.
Los estados de la ejecución de prueba son los siguientes:
- Pendiente: Se están descargando los recursos necesarios.
- En cola: La prueba está lista para ejecutarse cuando un dispositivo esté disponible.
- En ejecución: La prueba se está ejecutando en un dispositivo asignado.
- Completada: La prueba se completó y se informaron sus resultados.
- Cancelada: El usuario canceló la prueba o se agotó el tiempo de espera mientras se intentaba encontrar dispositivos disponibles.
- Error: Se produjo un error que impidió que se ejecutara la prueba.
Cancela una ejecución de prueba
Si la ejecución de la prueba no se completó, puedes cancelarla. Para ello, haz clic en Cancelar y, luego, en Sí en el diálogo de confirmación. Las ejecuciones de pruebas también se cancelan automáticamente si permanecen en el estado En cola durante más tiempo que el campo queue_timeout_seconds. La cancelación de una ejecución de prueba mientras se encuentra en estado En ejecución puede tardar unos minutos en aplicarse.
Figura 29: Cancela una ejecución de prueba.
Resultados de la ejecución de prueba
Una vez que finaliza la ejecución de una prueba, se recopilan y muestran los resultados. Puedes
ver detalles adicionales haciendo clic en la flecha de cada ejecución. Haz clic en Ver archivos de salida para ver los artefactos de prueba recopilados, como test_result.xml y test_result_failures.html.
Figura 30: Resultados de la ejecución de prueba
Puedes ver los registros en vivo del host y de Tradefed en la pestaña Logs.
Figura 31: Pestaña Registros.
Los resultados de los módulos individuales se encuentran en la pestaña Test Results.
Figura 32: Pestaña Resultados de la prueba.
Para descargar los archivos que se usan como recursos de prueba, haz clic en Abrir en la pestaña Recursos de prueba.
Figura 33. Pestaña Recursos de prueba.
Para ver los detalles de la ejecución de la prueba, como create_time, ve a la pestaña Config.
Figura 34: Pestaña Config.
Funciones avanzadas
Administra archivos de configuración
OmniLab ATS usa archivos de configuración escritos en YAML para cargar opciones predefinidas, como pruebas, canales de compilación y acciones de dispositivos. Este es un archivo de configuración de ejemplo:
// example_file.yaml
tests:
- id : android.cts.9_0.arm
name: CTS 9.0 (ARM)
test_resource_defs:
- name: android-cts.zip
default_download_url: https://dl.google.com/dl/android/cts/android-cts-9.0_r7-linux_x86-arm.zip
test_resource_type: TEST_PACKAGE
command: cts
env_vars:
- name: TF_PATH
value: ${TF_WORK_DIR}/android-cts/tools:${TF_WORK_DIR}/android-cts/testcases
- name: LD_LIBRARY_PATH
value: ${TF_WORK_DIR}/android-cts/lib:${TF_WORK_DIR}/android-cts/lib64
setup_scripts:
output_file_patterns:
- android-cts/logs/latest/.*
- android-cts/results/latest/.*\.html
- android-cts/results/latest/compatibility_result\..*
- android-cts/results/latest/logo.png
- android-cts/results/latest/test_result.xml
result_file: test_result.xml
java_properties:
- name: CTS_ROOT
value: ${TF_WORK_DIR}
context_file_dir: android-cts/results/
context_file_pattern: '[\d_\.]+\.zip'
retry_command_line: retry --retry 0
runner_sharding_args: --shard-count ${TF_SHARD_COUNT}
build_channels:
- id: google_drive
name: Google Drive
provider_name: Google Drive
device_actions:
- id: flash
name: Flash
test_resource_defs:
- name: bootloader.img
test_resource_type: DEVICE_IMAGE
- name: radio.img
test_resource_type: DEVICE_IMAGE
- name: img.zip
test_resource_type: DEVICE_IMAGE
tradefed_target_preparers:
- class_name: com.android.tradefed.targetprep.RunHostCommandTargetPreparer
option_values:
- name: work-dir
values:
- ${TF_WORK_DIR}
- name: host-setup-command
values:
- adb -s $SERIAL reboot-bootloader
- fastboot -s $SERIAL flash bootloader bootloader.img
- fastboot -s $SERIAL flash radio radio.img
- fastboot -s $SERIAL reboot-bootloader
- fastboot -s $SERIAL -w update img.zip
- adb -s $SERIAL wait-for-device
- name: host-cmd-timeout
values:
- 10m
Cuando configuras tu instancia de OmniLab ATS, puedes compartir tu configuración con otros usuarios exportándola como un archivo. Para ello, ve a la página Configuración y haz clic en Exportar en la parte superior derecha.
Figura 35: Administración de archivos de configuración
Después de descargar el archivo de configuración, compártelo con otros usuarios. Pueden agregar el archivo de configuración a su instancia de OmniLab ATS haciendo clic en Import y seleccionando el archivo de configuración.
Cómo crear una nueva acción de dispositivo
Las acciones del dispositivo se usan para automatizar el proceso de configuración del dispositivo. Las acciones son secuencias de comandos que se ejecutan en cada dispositivo en el que se ejecuta la prueba antes de cada ejecución de prueba, incluidos los reintentos. Para ver una lista de las acciones disponibles para el dispositivo, ve a la página Configuración y haz clic en la pestaña Acciones del dispositivo. Varias acciones del dispositivo ya vienen configuradas, como el reinicio y la actualización.
Figura 36: Pestaña Device Actions
Cómo agregar una nueva acción del dispositivo
Haz clic en Nueva acción de dispositivo.
Figura 37. Botón de acción de dispositivo nuevo.
Ingresa un nombre y una descripción.
Figura 38: Es el nombre de la acción del dispositivo.
Haz clic en Agregar preparador de destino.
Ingresa el nombre de clase completo del preparador de destino de Trade Federation, por ejemplo,
com.android.tradefed.targetprep.RunHostCommandTargetPreparer.
Figura 39. Agrega un preparador de destino.
Puedes encontrar una lista de los preparadores de destino disponibles en la referencia de com.android.tradefed.targetprep.
Figura 40. Es la lista de preparadores de destino.
Agrega las opciones que quieras usar con el preparador de destino. Para ver las opciones disponibles, consulta targetprep en el código fuente de cada preparador de destino en el AOSP:
Figura 41: Ejemplo de opción de acción.
Para agregar una opción, haz clic en Agregar opción de preparador de destino y, luego, ingresa los valores requeridos.
Figura 42. Ejemplo de comando de acción.
Define los recursos de prueba que se necesitan para ejecutar la acción del dispositivo, por ejemplo, compila imágenes para la actualización. Para agregar una definición de recurso, haz clic en Agregar recurso de prueba y completa los campos obligatorios. Si sabes dónde se encuentran tus archivos, puedes proporcionar una URL de descarga predeterminada haciendo clic en Explorar. Si los preparadores de destino aceptan el directorio como recurso de prueba, selecciona Descomprimir. Luego, especifica el directorio de Destino relativo en el directorio de trabajo temporal y los Nombres de archivo que se descomprimirán. Si no se proporcionan nombres de archivo, se descomprimirán todos los archivos del recurso de prueba.
Figura 43: Recursos de prueba de acciones.
Haz clic en Actualizar.
Figura 44. Acción para guardar los cambios.
Administra pruebas
Cómo editar una prueba
Para editar una prueba guardada, ve a la página Pruebas y haz clic en Editar en la fila de la prueba que deseas modificar. Después de cambiar la configuración de la prueba, haz clic en Actualizar.
Figura 45. Editar una prueba
Cómo agregar una prueba nueva
Para agregar una prueba nueva, ve a la página Pruebas y haz clic en Crear una prueba nueva. Ingresa la información adecuada y haz clic en Crear.
Figura 46. Crear una prueba
Figura 47. Copia una prueba.
Exporta la configuración del host
Después de configurar un host, puedes exportar sus parámetros de configuración a un archivo. Puedes subir este archivo a otros hosts para copiar los parámetros de configuración guardados.
Para exportar la configuración de un host, ve a la página Configuración y haz clic en Exportar en la esquina superior derecha.
Figura 48: Exporta una configuración de host.
Para importar un archivo de configuración de host, ve a la página Configuración y haz clic en Importar en la esquina superior derecha.
Figura 49. Importar una configuración de host
Usa archivos y directorios locales
A partir de la versión R11, se puede acceder automáticamente a los archivos del directorio $HOME/.ats_storage en OmniLab ATS. Copia o mueve un archivo a ese
directorio. Luego, podrás seleccionarlo en la pestaña Archivo local cuando programes una
ejecución de prueba.
cp /path/to/file $HOME/.ats_storage
Figura 50. Seleccionar un archivo del directorio $HOME/.ats_storage
Puedes activar directorios adicionales en el almacén de archivos local con la
marca --mount_local_path.
mtt start --mount_local_path=/path/to/dir1 --mount_local_path=/path/to/dir2:renamed_dir2
Figura 51: Son directorios adicionales activados en el almacén de archivos local.
Habilita el modo de varios hosts
Con el modo de varios hosts, los usuarios pueden usar un solo host de controlador de ATS para administrar los dispositivos y las pruebas en varios hosts de trabajadores de ATS.
Figura 52. Arquitectura del modo de varios hosts.
Para iniciar el controlador de ATS, usa el siguiente comando:
mtt start --operation_mode=ON_PREMISESe puede acceder al controlador de verificación en
http://${CONTROLLER_HOSTNAME}:8000.Para iniciar los trabajadores, usa el siguiente comando:
mtt start --control_server_url=http://CONTROLLER_HOSTNAME:8000 --operation_mode=ON_PREMISE
Si tu red no permite que los hosts se comuniquen entre sí, debes seguir las instrucciones de configuración más avanzadas que se indican a continuación en el trabajador de ATS.
Conectar los dos hosts con túneles SSH Selecciona los puertos para el servidor principal y el de archivos, por ejemplo, 9000 y 9006.
ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAMEConfigura e inicia ATS.
DOCKER_GATEWAY_IP_ADDRESS=$(ip -4 addr show dev docker0 | grep -Eo 'inet [.0-9]+/' | grep -Eo '[.0-9]+')socat tcp-listen:ATS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:ATS_PORT &socat tcp-listen:FS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:FS_PORT &mtt start --control_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:ATS_PORT \ --control_file_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:FS_PORT \ --operation_mode=ON_PREMISE
Limpiador de archivos
El limpiador de archivos es un trabajo cron que se ejecuta cada hora para limpiar archivos según las opciones de configuración definidas por el usuario. ATS tiene dos parámetros de configuración predeterminados para archivar los resultados de la ejecución de pruebas y borrar los archivos temporales. En esta guía, se explica cómo personalizar las políticas y los parámetros de configuración para administrar tus archivos de manera eficaz.
Políticas
Una política define la operación que se realizará en los archivos o directorios, y los criterios para seleccionar los destinos. Las operaciones disponibles se muestran en la tabla:
| Tipo de operación | Parámetros |
|---|---|
ARCHIVE | remove_file: Si es true, quita el archivo después de archivarlo. |
DELETE |
Los criterios se basan en los atributos de los archivos y la información del sistema. Los criterios disponibles se muestran en la tabla:
| Tipo de criterio | Descripción | Parámetros |
|---|---|---|
LAST_MODIFIED_TIME | Filtra los archivos según la fecha y hora de su última modificación. | ttl: Se admiten varios tipos de expresiones de tiempo, por ejemplo, 10m, 2h, 7 days, 4w. Consulta pytimeparse para conocer los formatos compatibles. |
LAST_ACCESS_TIME | Filtra los archivos según la fecha y hora de su último acceso. | Es igual que LAST_MODIFIED_TIME. |
NAME_MATCH | Filtrar archivos según su nombre con una expresión regular | pattern: Expresión regular, por ejemplo, [a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}\.zip para que coincida con los archivos ZIP de resultados. |
SYSTEM_AVAILABLE_SPACE | Activar acciones según el espacio disponible en el sistema | threshold: Activa la acción cuando el espacio disponible sea inferior al umbral, por ejemplo, 200(B), 200KB, 200MB, 200GB, 2TB. |
Figura 53. Agrega una nueva política de limpieza de archivos.
Parámetros de configuración
Un archivo de configuración combina una o más políticas con directorios específicos. Los archivos y directorios dentro de los directorios especificados se procesan según las políticas definidas. Las políticas se aplican en el orden en que aparecen en la configuración.
Todos los directorios de destino deben estar ubicados en el directorio /data. Si tu
configuración especifica el directorio de destino como logs, se interpreta como
/data/logs.
Figura 54. Edita la configuración del limpiador de archivos.
Restablecer
Si haces clic en Restablecer configuración, se restablecerá la configuración del limpiador de archivos a su estado predeterminado. Esta acción borra TODOS los elementos personalizados.
Figura 55. Restablece la configuración del limpiador de archivos.
Asistencia
Informes de errores
Tu contribución a OmniLab ATS ayuda a mejorar el desarrollo de la herramienta, y queremos conocer tu opinión. Consulta las notas de la versión de OmniLab ATS para obtener detalles sobre la versión más reciente. Para informar errores o enviar sugerencias, completa un informe de errores. Los socios deben informar errores o sugerencias a través de sus canales de socios.