Android Test Station de OmniLab

OmniLab ATS es una herramienta de pruebas que los desarrolladores y los ingenieros de pruebas de Android pueden usar para emplear una interfaz de usuario que ejecute conjuntos de pruebas estándares de Android, como el Conjunto de pruebas de compatibilidad (CTS) de Android. Esta herramienta funciona como una interfaz web para varios frameworks de prueba, como Trade Federation (TF) y Google Mobly, lo que te permite ejecutar pruebas de CTS y de 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.

El ATS de OmniLab usa código fuente de las siguientes 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 el ATS de OmniLab, pero recomendamos usar el requisito de host del CTS como punto de partida.

Existen dos formas de instalar OmniLab ATS:

Instalación con el programa de instalación

En Ubuntu 20.04 y versiones posteriores, el programa de instalación 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 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 de tu cuenta y volver a acceder para que se apliquen los cambios de permisos.

Instala Python 3

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

En Ubuntu 16.04 o versiones anteriores, 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 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:

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

Obtén la CLI de ATS de OmniLab

Descarga el paquete de la interfaz de línea de comandos (CLI) aquí.

Cómo iniciar el ATS de OmniLab

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 al 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 el siguiente comando:

mtt start --force_update

Para detener la app, ejecuta el siguiente comando:

mtt stop

Para ver una lista de otros comandos, usa lo siguiente:

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 la copia de seguridad, 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. Los cambios que realices aquí se pueden volver a configurar más adelante en la página Configuración.

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

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

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

Figura 1: Restablece una copia de seguridad de la configuración.

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

Configura la cuenta de servicio

Figura 2: Configurar la cuenta de servicio

Cuando la cuenta de servicio se autentique correctamente, la dirección de correo electrónico de la cuenta aparecerá 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 nueva clave de cuenta de servicio.

Cambiar 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 pruebas, incluidas las acciones relacionadas con el dispositivo 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 desees 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 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 volverá a cargar con la nueva configuración aplicada.

Conectar dispositivo

La depuración por USB debe estar habilitada para usar un dispositivo en las pruebas. Para habilitar la depuración, haz lo siguiente:

  1. Sigue las instrucciones en Cómo habilitar las opciones para desarrolladores y la depuración.

  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 automáticamente la depuración por USB después de que se escribe la imagen en el dispositivo que ejecuta esas compilaciones.

  3. Conecta el dispositivo a la máquina host con un cable 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.

    Cómo conectar un dispositivo

    Figura 6: Conexión de 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 solo puede ejecutar una prueba a la vez, por lo que debe finalizar la prueba actual antes de ejecutar una nueva.

Cómo ejecutar una prueba

Selecciona una prueba

El ATS de OmniLab incluye un conjunto de configuraciones de CTS preempaquetadas. Para ejecutar una de estas pruebas, ve a la pestaña Test Suites y haz clic en Run test para la prueba seleccionada.

Selecciona una prueba

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

Configurar la ejecución de prueba

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

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

  • Name: Es el nombre del conjunto de pruebas que deseas ejecutar.
  • Run Count: Es la cantidad de veces que se debe ejecutar esta prueba cuando se programe. Las ejecuciones de prueba se programan con Trade Federation, que ejecuta hasta 20 ejecuciones de prueba en paralelo si hay capacidad para hacerlo.
  • Max Retry: Es la cantidad máxima de veces que se reintenta una ejecución de prueba si falla al menos una prueba. Por lo general, se establece en 4 a 6 reintentos para que una ejecución completa del CTS controle las pruebas no confiables.
  • 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. Aquí, especifica la cantidad de tiempo que se debe esperar antes de la cancelación. El valor predeterminado es de 24 horas.
  • Command: Es el comando para ejecutar el conjunto de pruebas. Aquí puedes ingresar argumentos de línea de comandos adicionales. Por ejemplo, ejecuta un módulo específico en CTS 8.1 con el siguiente comando:

    cts-suite -m ShortModuleName
    
  • Retry Command: Es el comando para volver a ejecutar un conjunto de pruebas. Aquí puedes agregar argumentos de línea de comandos adicionales. Por ejemplo, para reintentar solo un módulo específico en CTS 8.1, usa el siguiente comando:

    cts --retry 0 -m ShortModuleName
    

    Los argumentos de reintento pueden diferir de los disponibles con el comando inicial, por lo que debes verificar los parámetros admitidos en el sitio oficial del conjunto de pruebas seleccionado.

  • Ejecución de prueba anterior: Si deseas 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 ve cuando se visualizan los detalles de la ejecución de prueba.

      Ejecución de prueba anterior local

      Figura 9: Es la ejecución de prueba anterior local.

    • Remota: Si la ejecución se inició en otro host, sube el archivo de resultados de la prueba. Para ello, selecciona Remota, 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: Ejecuta de forma remota la prueba anterior.

Elegir dispositivos

Haz clic en las casillas de verificación para seleccionar los dispositivos que se asignarán para ejecutar el conjunto 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
  • nombredehost
  • 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 vienen configuradas, como el parpadeo y el reinicio. Para crear acciones de dispositivos nuevas, consulta Cómo crear una acción de dispositivo nueva.

Acciones del dispositivo

Figura 12: Son las 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 acción(es). Las acciones del dispositivo se realizan de forma secuencial. Puedes cambiar el orden de las acciones arrastrándolas.

Agregar acciones

Figura 13: Reordenar acciones

Establece recursos de prueba

Los recursos de prueba son archivos necesarios para ejecutar una prueba. Por ejemplo, para ejecutar el CTS, se requiere un archivo android-cts*.zip, y para escribir la imagen de compilación en un dispositivo, debes proporcionar la imagen de compilación.

La URL de descarga del archivo ZIP del conjunto de pruebas debe establecerse de forma predeterminada en los vínculos de Google Drive que se proporcionan a los socios. Puedes seleccionar otro archivo haciendo clic en Navegar. En la ventana emergente, puedes ingresar un vínculo de descarga de un 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 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 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 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, también se admiten caracteres comodín en el campo Nombre de archivo. Puedes encontrar la documentación aquí.

Selector de recursos de prueba: compatibilidad con patrones de comodines

Figura 17: Selector de recursos de prueba: Se admite el patrón de comodín.

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 cargar sus resultados, pero puedes usar diferentes dispositivos, acciones o recursos.

Cómo agregar configuraciones de nueva ejecución

Figura 19: Se agregaron configuraciones de nueva ejecución.

Cómo iniciar una prueba

Después de ingresar la información necesaria para la ejecución de prueba, haz clic en Start Test Run. 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: Se inicia una ejecución de prueba.

Crea un plan de prueba

Los planes de pruebas 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 pruebas

Configura el plan de pruebas

Ingresa el nombre del plan de pruebas y las etiquetas que quieras agregar. Luego, selecciona un programa para usar.

  • Manual: El plan de pruebas crea ejecuciones de prueba solo cuando un usuario hace clic en Ejecutar plan de pruebas en la página de la lista de planes de pruebas.
  • Periódico: El plan de pruebas programa automáticamente las ejecuciones de pruebas según el programa periódico seleccionado. Por ejemplo, puedes programar una ejecución de prueba todos los días a las 5 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 * * *.

Configurar el plan de prueba

Figura 22: Configurar un plan de pruebas

Cómo agregar paquetes de pruebas

Haz clic en + Add test run configuration para agregar los paquetes de pruebas que deseas que se programen en el plan de pruebas. Selecciona un conjunto 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 pruebas.

Configurar la ejecución de prueba

Figura 23: Configuración de 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: Se agregaron acciones del dispositivo.

Establece recursos de prueba

Agregar recursos de prueba a los planes de pruebas es lo mismo que agregarlos a ejecuciones de pruebas individuales. Consulta Cómo configurar recursos de prueba para obtener más detalles.

Cómo establecer recursos de prueba

Figura 25: Configura 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 ver 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 devuelve todas las filas que contienen el texto exacto (sin coincidencia de subcadenas) en cualquier columna, excepto Estado y Creado.

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

Lista de ejecuciones de prueba

Figura 26: Es la lista de ejecuciones de prueba.

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: Son los 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 la prueba son los siguientes:

  • Pendiente: Se están descargando los recursos obligatorios.
  • En cola: La prueba está lista para ejecutarse cuando haya un dispositivo disponible.
  • En ejecución: La prueba se está ejecutando en un dispositivo asignado.
  • Completado: La prueba se completó y se informaron sus resultados.
  • Cancelado: 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 durante más tiempo del que se indica en 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.

Cancelar la ejecución de la prueba

Figura 29: Se canceló 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. 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: Son los resultados de la ejecución de la prueba.

Puedes ver los registros activos del host y de Tradefed en la pestaña Registros.

Registros de ejecución de prueba

Figura 31: Pestaña Registros

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

Pestaña de 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 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

El ATS de OmniLab 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 ejemplo de archivo de configuración:

// 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 configures tu instancia de ATS de OmniLab, 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 esquina 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 OmniLab ATS, deben hacer clic en Import y seleccionar el archivo de configuración.

Crea una acción del dispositivo nueva

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 la prueba, incluso antes de 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 están configuradas, como el reinicio y el parpadeo.

Pestaña Acciones del dispositivo

Figura 36: Pestaña Device Actions

Cómo agregar una acción del dispositivo nueva

  1. Haz clic en New device action.

    Botón de acción de dispositivo nuevo

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

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

    Agrega un preparador de destino

    Figura 39: Se agregó 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 desees 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 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 necesarios para ejecutar la acción del dispositivo, por ejemplo, compila imágenes para la escritura de memoria flash. 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 Examinar. 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 File Names que se descomprimirán. Si no se proporcionan nombres de archivo, se descomprimen todos los archivos del recurso de prueba.

    Recursos de prueba de acciones

    Figura 43: Recursos de prueba de acciones

  8. Haz clic en Update.

    Acción para guardar cambios

    Figura 44: Acción para guardar los cambios.

Administrar 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 correspondiente y haz clic en Crear.

Crea 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 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 la configuración del host

Figura 48: Exporta la configuración de un host.

Para importar un archivo de configuración del 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: Se importa 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 y, luego, podrás seleccionarlo en la pestaña Archivo local cuando programes una ejecución de prueba.

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

Cómo seleccionar un archivo local

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

Puedes unir directorios adicionales al 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 adicionales activados

Figura 51 Son directorios adicionales que se activan en el almacén de archivos local.

Cómo habilitar el modo de varios hosts

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

Arquitectura del modo de hosts múltiples

Figura 52 Arquitectura del modo de hosts múltiples.

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

    mtt start --operation_mode=ON_PREMISE
    
  2. Se puede acceder al verificador de controladores 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 puertos para los puertos del servidor principal y 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
    

Limpiador 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 parámetros de configuración predeterminados 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 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 objetivos. 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 del archivo y la información del sistema. Los criterios disponibles se muestran en la tabla:

Tipo de criterioDescripciónParámetros
LAST_MODIFIED_TIMEFiltrar archivos según la fecha y hora de la última modificaciónttl: 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_TIMEFiltrar archivos según la fecha y hora del último accesoEs igual a LAST_MODIFIED_TIME.
NAME_MATCHFiltra archivos según su nombre con expresiones regulares.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 ZIP de resultados.
SYSTEM_AVAILABLE_SPACEActiva acciones según el espacio disponible en el sistema.threshold: Activa la acción cuando el espacio disponible cae por debajo del umbral, por ejemplo, 200(B), 200KB, 200MB, 200GB, 2TB.

Nueva política del Limpiador de archivos

Figura 53: Agrega una nueva política de limpieza de archivos.

Parámetros de configuración

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

Cómo 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 al ATS de OmniLab ayuda a mejorar el desarrollo de la herramienta, y queremos conocer tu opinión. Consulta las notas de la versión de ATS de OmniLab para obtener detalles sobre la versión más reciente. Para informar errores o hacer sugerencias, envía un informe de errores. Los socios deben informar los errores o enviar sugerencias a través de sus canales de socios.