Android Test Station de OmniLab

OmniLab ATS es una herramienta de prueba que los desarrolladores e ingenieros de pruebas de Android pueden usar para emplear una interfaz de usuario para ejecutar conjuntos de pruebas estándares de Android, como el Conjunto de pruebas de compatibilidad de Android (CTS). Esta herramienta actúa como una interfaz web para varios frameworks de prueba, como la Federación de Comercio (TF) y Google Mobly, lo que te permite ejecutar pruebas de CTS y varios dispositivos en un conjunto de dispositivos de prueba con una configuración mínima, así como establecer un programa para ejecutar pruebas de forma continua.

Configura el ATS de OmniLab

En esta sección, se explica cómo instalar y configurar OmniLab ATS.

OmniLab ATS usa el código fuente de las siguientes ubicaciones:

Instala OmniLab ATS

Sigue los requisitos de hardware y software de los paquetes de pruebas que ejecutes.

Los requisitos de CTS se encuentran en source.android.com.

No hay requisitos de hardware adicionales para la ATS de OmniLab, pero recomendamos usar el requisito de host de CTS como punto de partida.

Existen dos formas de instalar OmniLab ATS:

Cómo instalar con el programa de instalación

En Ubuntu 20.04 y versiones posteriores, el programa 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 ATS de OmniLab.

Instalación manual

Instala Docker
  1. Sigue las instrucciones para instalar Docker Community Edition (CE) en tu máquina 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 la terminal o salir y volver a acceder para que se apliquen los cambios de permisos.

Instala Python 3

La CLI de OmniLab ATS se verifica en las versiones de Python 3.7 a 3.11.

Para Ubuntu 16.04 o versiones anteriores, primero agrega el repositorio de Python 3. Para ello, haz lo siguiente:

  • Ejecuta este comando:

    sudo add-apt-repository ppa:deadsnakes/ppa
    
  • Compila e instala el repositorio desde la fuente.

Para instalar Python 3, ejecuta estos comandos:

sudo apt-get update
sudo apt install python3 python3-distutils

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

Cómo iniciar ATS de OmniLab

Inicia OmniLab ATS con el siguiente comando:

mtt start

La primera vez que se inicie la IU, es posible que tarde 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 al inicio con la marca --port.

Si hay una versión más reciente disponible, puedes actualizarla 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 el siguiente comando:

mtt start --force_update

Para detener la app, ejecuta lo siguiente:

mtt stop

Para ver una lista de otros comandos, usa:

mtt --help

Crea una copia de seguridad de la base de datos y restablécela

Para crear una copia de seguridad de la base de datos de OmniLab ATS, 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 guía a través de algunos pasos para ayudarte a personalizar la herramienta para tu entorno. Los cambios que realices aquí se podrán volver a configurar más adelante en la página Configuración.

Cómo restablecer una copia de seguridad de configuración

Si tienes una copia de seguridad de un archivo de configuración de otro host de OmniLab ATS, puedes subir el archivo para copiar cualquier configuración modificada desde ese host. Para ello, haz clic en el botón Upload File.

Restablecer la copia de seguridad de la configuración

Figura 1: Restablecer una copia de seguridad de 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 clave JSON de tu cuenta de servicio.

Cómo configurar la cuenta de servicio

Figura 2: Configuración de 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.

Cambia la cuenta de servicio

Figura 3: Cambiar la cuenta de servicio

Importa conjuntos de configuración

Un conjunto de configuración es un paquete de configuraciones para ejecutar paquetes de prueba, incluidas las acciones de dispositivos 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 que tienes disponibles.

Selecciona los conjuntos de configuración que deseas agregar al host de Test Station y haz clic en Import Selected.

Importa conjuntos de configuración

Figura 4: Importa un conjunto de configuración.

Incluir la configuración de Wi-Fi

Algunas pruebas de CTS requieren que el 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 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.

  2. Si planeas usar compilaciones de prueba de Android 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 automáticamente la depuración por USB después de que se escribe en la memoria flash de los dispositivos que ejecutan esas compilaciones.

  3. Conecta el dispositivo a la máquina anfitrión mediante USB.

    El dispositivo aparecerá en la pestaña Dispositivos de ATS de OmniLab en un plazo de un minuto después de actualizar la interfaz web. También puedes ver el estado de los dispositivos en esta pestaña.

    Cómo conectar un dispositivo

    Figura 6: Conectar 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 se está ejecutando una prueba. Cada dispositivo puede ejecutar una sola prueba a la vez, por lo que debe terminar la prueba actual antes de ejecutar una nueva.

Cómo ejecutar una prueba

Selecciona una prueba

OmniLab ATS viene con un conjunto de configuraciones de CTS precompiladas. 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.

Configura 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 prepropagan 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 Max Retry y Command, para que se adapten a tus necesidades.

Configura la ejecución de prueba

Figura 8: Configuración de una ejecución de prueba.

Los parámetros de la ejecución de prueba son los siguientes:

  • Nombre: Es el nombre del paquete de pruebas que deseas ejecutar.
  • Recuento de ejecuciones: Es la cantidad de veces que se debe ejecutar esta ejecución de prueba cuando se programa. Las ejecuciones de prueba se programan con Trade Federation, que ejecuta hasta 20 ejecuciones de prueba en paralelo si hay capacidad para hacerlo.
  • Reintento máximo: La cantidad máxima de veces que se puede reintentar una ejecución de prueba si al menos una prueba falla. Por lo general, se establece entre 4 y 6 reintentos para que una ejecución completa de CTS controle 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 conjunto de pruebas. Puedes ingresar argumentos de línea de comandos adicionales aquí. Por ejemplo, ejecuta un módulo específico en CTS 8.1 con lo siguiente:

    cts-suite -m ShortModuleName
    
  • Comando Retry: Es el comando para volver a intentar un paquete de pruebas. Puedes agregar argumentos de línea de comandos adicionales aquí. 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 compatibles en el sitio oficial para el paquete de pruebas seleccionado.

  • 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 ejecución de prueba que se muestra cuando visualizas 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 otro host, sube el archivo de resultados de la prueba. Para ello, selecciona Remoto, haz clic en Subir archivo de resultados de la prueba y selecciona un archivo de tu almacenamiento local.

      Ejecución de prueba anterior remota

      Figura 10: Ejecución de prueba anterior remota.

Elegir dispositivos

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 debe cambiar automáticamente para coincidir con la cantidad de dispositivos seleccionados.

Selecciona los dispositivos

Figura 11: Selección de dispositivos

Para seleccionar dispositivos por atributos distintos de los números de serie, puedes ingresar manualmente "Especificaciones del dispositivo". Por ejemplo, para seleccionar 3 dispositivos cuyo nombre del producto es "bramble", ingresa lo siguiente:

product:bramble;product:bramble;product:bramble

Los atributos admitidos son los siguientes:

  • build_id
  • device_serial
  • device_type
  • hostname
  • 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 está 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 de firmware y el reinicio. Para crear acciones de dispositivos nuevas, consulta Cómo crear una acción de dispositivo nueva.

Acciones del dispositivo

Figura 12: Acciones del dispositivo.

Para agregar una acción del dispositivo a una ejecución de prueba, haz clic en Agregar acción nueva, selecciona las casillas de verificación de las acciones que deseas agregar y haz clic en Agregar acciones. Las acciones del dispositivo se realizan de forma secuencial. Para reordenar las acciones, arrástralas.

Cómo agregar acciones

Figura 13: Reordenar acciones

Establece recursos de prueba

Los recursos de prueba son archivos necesarios para ejecutar una ejecución de prueba. Por ejemplo, la ejecución de CTS requiere un archivo android-cts*.zip, y la escritura en la memoria flash de un dispositivo requiere que proporciones 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 les proporcionan a los socios. Para seleccionar otro archivo, haz clic en Explorar. En la ventana emergente, puedes ingresar un vínculo de descarga de archivo, 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 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: Selector de recursos de prueba: URL web.

Si subiste recursos a Google Grive, 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 para seleccionar un recurso de Google Drive.

Selector de recursos de prueba: Google Drive

Figura 16: Selector de recursos de prueba: Google Drive

Además de seleccionar archivos, los caracteres comodín también se admiten en el campo Nombre de archivo. La documentación está disponible aquí.

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

Figura 17: Selector de recursos de prueba: Se admite el patrón 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.

Selector de recursos de prueba: Almacén de archivos local

Figura 18: Selector de recursos de prueba: Almacén de archivos local

Agrega configuraciones de nueva ejecución

Puedes programar repeticiones que comiencen después de que se complete la ejecución principal y carguen sus resultados, pero puedes usar diferentes dispositivos, acciones o recursos.

Agrega configuraciones de nueva ejecución

Figura 19: Se agregaron configuraciones de repetición.

Cómo 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, comenzará la ejecución de la prueba y se te redireccionará a una página para ver los detalles y el progreso de la ejecución.

Iniciar ejecución de prueba

Figura 20: Iniciando una ejecución de prueba.

Crea un plan de prueba

Los planes de prueba se usan para crear ejecuciones de prueba de forma periódica. Por ejemplo, ejecutar CTS 9.0 todos los días a las 5 p.m. Para crear un plan de prueba nuevo, haz clic en Crear un plan de prueba.

Crea un plan de pruebas

Figura 21: Crear un plan de prueba

Configura el plan de pruebas

Ingresa el nombre del plan de prueba 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 Run test plan en la página de la lista de planes de prueba.
  • Periódica: El plan de prueba programa automáticamente las ejecuciones de prueba en 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 prueba programa automáticamente las ejecuciones de prueba 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 de cron es 0 17 * * *.

Configurar el plan de prueba

Figura 22: Configura un plan de prueba.

Agrega paquetes de pruebas

Para agregar paquetes de pruebas que deseas que el plan de prueba programe, 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 deseas ejecutar la prueba y haz clic en Add Configuration. Puedes agregar varias configuraciones para cada plan de prueba.

Configura la ejecución de prueba

Figura 23: Cómo configurar una ejecución de prueba

Cómo agregar acciones del dispositivo

Agrega las acciones del dispositivo que deseas que se ejecuten antes de cada ejecución de prueba. Consulta Cómo agregar acciones del 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 los recursos de prueba para obtener más detalles.

Establece recursos de prueba

Figura 25: Configuración de recursos de prueba

Cómo ver las ejecuciones de prueba

Lista de ejecuciones de pruebas

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 si ingresas una string en la barra de filtros y presionas la tecla Intro. Para usar varios filtros, sepáralos con una coma. El filtro muestra todas las filas que contienen el texto exacto (sin coincidencias de subcadena) en cualquier columna, excepto Estado y Creado.

Un filtro vacío muestra todas las filas. Actualmente, no hay forma de filtrar filas con valores vacíos.

Lista de ejecuciones de prueba

Figura 26: 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 prueba

Figura 27: Detalles de la ejecución de 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 mostrará aquí.

Estado de la ejecución de prueba

Figura 28: 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.
  • Running: 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.

Cómo cancelar una ejecución de prueba

Si la ejecución de prueba no se completó, puedes cancelarla haciendo clic en Cancelar y, luego, en en el cuadro de diálogo de confirmación. Las ejecuciones de prueba también se cancelan automáticamente si permanecen en el estado En cola por más tiempo que el campo queue_timeout_seconds. Cancelar una ejecución de prueba mientras está en estado Running puede tardar unos minutos en aplicarse.

Cancelar ejecución de prueba

Figura 29: Cancelar una ejecución de prueba

Resultados de la ejecución de prueba

Una vez que finaliza una ejecución de prueba, se recopilan y muestran los resultados. Para ver detalles adicionales, haz 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 Registros.

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 Resultados de la prueba

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 Recursos de prueba

Figura 33: Pestaña Recursos de prueba.

Para ver los detalles de la ejecución de prueba, como create_time, ve a la pestaña Config.

Pestaña Test 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 del dispositivo. 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 ATS de OmniLab, puedes compartir la configuración con otros usuarios si la exportas 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. Para agregar el archivo de configuración a su instancia de ATS de OmniLab, debe hacer clic en Import y seleccionar el archivo de configuración.

Crea una nueva acción de dispositivo

Las acciones de dispositivos 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, incluso antes de los reintentos. Para ver una lista de las acciones disponibles del dispositivo, ve a la página Settings y haz clic en la pestaña Device Actions. Varias acciones del dispositivo ya están configuradas, como el reinicio y la actualización de firmware.

Pestaña Device Actions

Figura 36: Pestaña Acciones del dispositivo.

Cómo agregar una nueva acción del dispositivo

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

    Nuevo botón de acción del dispositivo

    Figura 37: Botón de acción del 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 objetivos.

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

    Agregar preparador de destino

    Figura 39: Cómo agregar un preparador de destino

    Puedes encontrar una lista de los preparados de destino disponibles en la referencia com.android.tradefed.targetprep.

    Lista de preparadores de destino

    Figura 40: Lista de preparadores objetivo.

  5. Agrega cualquier opción que quieras usar con el preparador de destino. Para ver las opciones disponibles, consulta targetprep para obtener el código fuente de cada preparador de destino en 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 objetivos y, luego, ingresa los valores necesarios.

    Ejemplo de comando de acción

    Figura 42: Ejemplo de comando de acción.

  7. Define los recursos de prueba necesarios 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 hacer clic en Explorar para proporcionar una URL de descarga predeterminada. Si los preparadores de destino aceptan el directorio como recurso de prueba, selecciona Descomprimir. Luego, especifica el directorio Destination relativo en el directorio de trabajo temporal y los Nombres de archivo que se descomprimirán. Si no se proporcionan nombres de archivo, se descomprimen todos los archivos del recurso de prueba.

    Recursos de prueba de acción

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

Copia una prueba

Figura 47: Copiando una prueba.

Cómo exportar configuraciones de host

Después de configurar un host, puedes exportar su configuración a un archivo. Puedes subir este archivo a otros hosts para copiar las configuraciones guardadas.

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.

Cómo exportar parámetros de configuración de host

Figura 48: Exporta la configuración de un 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.

Cómo importar parámetros de configuración de host

Figura 49: Importa una configuración de host.

Cómo usar archivos y directorios locales

A partir de la versión R11, los archivos del directorio $HOME/.ats_storage son accesibles automáticamente en OmniLab ATS. Copia o mueve un archivo a ese directorio y, luego, puedes seleccionarlo en la pestaña Local File cuando programas la ejecución de una prueba.

cp /path/to/file $HOME/.ats_storage

Selecciona un archivo local

Figura 50: Selecciona un archivo del directorio $HOME/.ats_storage.

Puedes activar directorios adicionales en el almacén de archivos locales 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: Directorios adicionales activados en el almacén de archivos local

Habilitar el modo para varios hosts

Con el modo para múltiples hosts, los usuarios pueden usar un solo host de controlador de ATS para administrar los dispositivos y las pruebas en varios hosts de trabajo de ATS.

Arquitectura del modo de varios hosts

Figura 52: Arquitectura del modo de host múltiple.

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

    mtt start --operation_mode=ON_PREMISE
    
  2. Comprueba que se pueda acceder al controlador 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. Conecta los dos hosts con túneles SSH. Selecciona los puertos para los puertos principales y del servidor de archivos, por ejemplo, 9000 y 9006.

    ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAME
    
  2. Configura y, luego, 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
    

Limpieza de archivos

El limpiador de archivos es un trabajo cron que se ejecuta cada hora para limpiar archivos según las configuraciones definidas por el usuario. ATS tiene dos configuraciones predeterminadas para archivar los resultados de las ejecuciones de pruebas y borrar los archivos temporales. En esta guía, se explica cómo personalizar las políticas y la 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 la última modificación.ttl: Se admiten varios tipos de expresiones de tiempo, por ejemplo, 10m, 2h, 7 days y 4w. Consulta pytimeparse para conocer los formatos compatibles.
LAST_ACCESS_TIMEFiltra los archivos según la fecha y hora del último acceso.Es igual que LAST_MODIFIED_TIME.
NAME_MATCHFiltra 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 hacer coincidir los archivos ZIP de resultados.
SYSTEM_AVAILABLE_SPACEActiva acciones según el espacio disponible en el sistema.threshold: Activa una acción cuando el espacio disponible cae por debajo del 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.

Configuraciones

Una 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 interpretará como /data/logs.

Edita 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 revertirá la configuración del limpiador de archivos a su estado predeterminado. Esta acción borra TODOS los elementos personalizados.

Restablecer 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 que nos envíes tus comentarios. Consulta las notas de la versión de OmniLab ATS para obtener detalles sobre la versión más reciente. Para informar errores o ofrecer sugerencias, envía un informe de errores. Los socios deben informar errores o sugerencias a través de sus canales de socios.