Android Test Station de OmniLab

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:

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:

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:

  1. Ejecuta el programa de instalación:

    curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
    
  2. Ejecuta mtt version para verificar la versión instalada de la CLI de OmniLab ATS.

Instalación manual

Instala Docker
  1. Sigue las instrucciones para instalar Docker Community Edition (CE) en tu máquina de Linux.

  2. Sigue los pasos posteriores a la instalación para administrar Docker como un usuario no raíz.

  3. 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 update
sudo 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 update
sudo 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.

Restablece la copia de seguridad de la configuración

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.

Configura la 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.

Cambiar cuenta de servicio

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.

Importa conjuntos de configuración

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.

Configuración de Wi-Fi

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:

  1. Sigue las instrucciones que se indican en Habilita las Opciones para desarrolladores y la depuración por USB.

  2. Si planeas usar compilaciones de Android de prueba precargadas con claves de ADB personalizadas, coloca los archivos .adb_key personalizados 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.

  3. 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.

    Conecta un dispositivo

    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.

Selecciona una prueba

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.

Configura la ejecución de la prueba

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 ShortModuleName
    
  • Comando 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 ShortModuleName
    

    Los 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.

      Ejecución de prueba anterior local

      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.

      Ejecución de prueba anterior remota

      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.

Selecciona los dispositivos

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.

Acciones del dispositivo

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.

Agregar acciones

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.

Recursos de prueba

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.

Selector de recursos de prueba: URL web

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.

Selector de recursos de prueba: 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í.

Selector de recursos de prueba: Compatibilidad con patrones comodín

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.

Test Resource Selector - Local File Store

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.

Agrega parámetros de configuración de repetición de la ejecución

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.

Iniciar ejecución de 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.

Crea un plan de pruebas

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 * * *.

Configura el plan de pruebas

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.

Configura la ejecución de la 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.

Cómo agregar acciones del dispositivo

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.

Establece recursos de prueba

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.

Lista de ejecuciones de pruebas

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.

Detalles de la ejecución de la prueba

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í.

Estado de la ejecución de prueba

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.

Cancela la ejecución de la prueba

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.

Resultados de la ejecución de prueba

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.

Registros de ejecución de pruebas

Figura 31: Pestaña Registros.

Los resultados de los módulos individuales se encuentran en la pestaña Test Results.

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.

Pestaña Test Resources

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.

Pestaña Configuración de prueba

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.

Administración de archivos de configuración

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.

Pestaña Device Actions

Figura 36: Pestaña Device Actions

Cómo agregar una nueva acción del dispositivo

  1. Haz clic en Nueva acción de dispositivo.

    Botón de acción de dispositivo nuevo

    Figura 37. Botón de acción de dispositivo nuevo.

  2. Ingresa un nombre y una descripción.

    Nombre de la acción del dispositivo

    Figura 38: Es el nombre de la acción del dispositivo.

  3. Haz clic en Agregar preparador de destino.

  4. Ingresa el nombre de clase completo del preparador de destino de Trade Federation, por ejemplo, com.android.tradefed.targetprep.RunHostCommandTargetPreparer.

    Agregar preparador de destino

    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.

    Lista de preparadores de destino

    Figura 40. Es la lista de preparadores de destino.

  5. 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:

    Ejemplo de opción de acción

    Figura 41: Ejemplo de opción de acción.

  6. Para agregar una opción, haz clic en Agregar opción de preparador de destino y, luego, ingresa los valores requeridos.

    Ejemplo de comando de acción

    Figura 42. Ejemplo de comando de acción.

  7. 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.

    Recursos de prueba de acciones

    Figura 43: Recursos de prueba de acciones.

  8. Haz clic en Actualizar.

    Acción Guardar cambios

    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.

Cómo editar una prueba

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.

Cómo crear una prueba

Figura 46. Crear una prueba

Cómo copiar 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.

Exporta parámetros de configuración de host

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.

Importa parámetros de configuración de host

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

Selecciona un archivo local

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

Directorios activados adicionales

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.

Arquitectura del modo de varios hosts

Figura 52. Arquitectura del modo de varios hosts.

  1. Para iniciar el controlador de ATS, usa el siguiente comando:

    mtt start --operation_mode=ON_PREMISE
    
  2. Se puede acceder al controlador de verificación en http://${CONTROLLER_HOSTNAME}:8000.

  3. 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.

  1. 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_HOSTNAME
    
  2. Configura 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ónParámetros
ARCHIVEremove_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 criterioDescripciónParámetros
LAST_MODIFIED_TIMEFiltra 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_TIMEFiltra los archivos según la fecha y hora de su último acceso.Es igual que LAST_MODIFIED_TIME.
NAME_MATCHFiltrar archivos según su nombre con una expresión regularpattern: 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_SPACEActivar acciones según el espacio disponible en el sistemathreshold: Activa la acción cuando el espacio disponible sea inferior al umbral, por ejemplo, 200(B), 200KB, 200MB, 200GB, 2TB.

Nueva política de limpieza de archivos

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.

Editar la configuración del limpiador de archivos

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.

Restablece la configuración del limpiador de archivos

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.