Cómo ejecutar pruebas de CTS

Trade Federation es un framework de pruebas continuas para ejecutar pruebas en Android dispositivos. Para ejecutar el Conjunto de pruebas de compatibilidad (CTS), primero lee el Descripción general de la Federación de Comercio para un sobre el marco de pruebas de Tradefed.

Para ejecutar un plan de prueba, haz lo siguiente:

  1. Configurar dispositivos en prueba (DUT) según lo siguiente Configuración de dispositivos Android
  2. Asegúrate de haber instalado las versiones recientes de ambos Android Debug Bridge (adb) y Android Asset Packaging Tool (AAPT) y agregaste la ubicación de esas herramientas a la ruta de acceso del sistema de tu máquina. Para obtener información sobre cómo instalar esas herramientas, consulta Cómo configurar CTS: ADB y AAPT.
  3. Descarga las compilaciones del CTS actualizadas en tu en la máquina anfitrión de Linux y descomprime la compilación en la ubicación del host.
  4. Conecta al menos un dispositivo. Para preparar el DUT, haz lo siguiente:
    • Presiona el botón de inicio para configurar el dispositivo en la pantalla principal.
    • No uses el DUT para ninguna otra tarea.
    • Mantén el DUT en una posición fija para evitar que se active el sensor actividad.
    • Apunta la cámara del dispositivo a un objeto que se pueda enfocar.
    • No presiones ninguna tecla en el dispositivo mientras se esté ejecutando el CTS. Prensado teclas o tocar la pantalla de un DUT interfiere en las pruebas en ejecución y pueden provocar fallas en las pruebas.
  5. Iniciar la secuencia de comandos cts-tradefed de la consola del CTS desde la carpeta en la que se encuentra el CTS se descomprimió el paquete. En la shell de línea de comandos del host, ejecuta el siguiente comando:

    ./android-cts/tools/cts-tradefed
  6. Ejecuta el plan de prueba predeterminado (contiene todos los paquetes de prueba):

    cts-tradefed > run cts
    • Si quieres mejorar el tiempo de ejecución de las pruebas, puedes fragmentar las pruebas en varios dispositivos. La fragmentación requiere que el host se conecte al menos dos dispositivos, pero se recomiendan seis o más para aumentar la eficiencia. Cuando fragmentes más de 1 dispositivo, sucede lo siguiente:

      • En Android 9 y versiones posteriores, usa la opción de comando.

        --shard-count number_of_shards
      • En el caso de Android 8.1 y versiones anteriores, usa la opción de comando.

        --shards number_of_shards
    • Si no quieres ejecutar todo el paquete de pruebas, puedes ejecutar el Plan de CTS de su elección la línea de comandos:

      run cts --plan test_plan_name

      Para encontrar el nombre del plan de prueba, haz lo siguiente:

      • En el caso de Android 7.0 y versiones posteriores, para ver una lista de los módulos de prueba, ingresa

        list modules
      • En el caso de Android 6.0 y versiones anteriores, puedes ver una lista de los planes de prueba en la repositorio, ingresa

        list plans
      • En el caso de Android 6.0 y versiones anteriores, puedes ver una lista de paquetes de prueba en la repositorio, ingresa

        list packages
    • Para obtener opciones de comandos adicionales según las versiones de CTS, consulta el referencia de los comandos de la consola, o en "ayudar a todos" en la consola de Tradefed.

  7. Ejecuta varias sesiones de Reintento hasta que se completen todos los módulos de prueba y la cantidad de pruebas fallidas es la misma en las dos últimas sesiones de reintento.

    • En el caso de Android 9 y versiones posteriores, usa

      run retry --retry session_number --shard-count number_of_shards
    • Para Android 7.0 a 8.1, usa

      run cts --retry session_number --shards number_of_shards
    • Para conocer opciones adicionales del comando Reintentar en función de la versión de CTS, consulte la Consola de comandos de CTS v2.

    • Para conocer los detalles de implementación del reintento de CTS, consulta Reintento del paquete de la Federación de Comercio.

  8. Ejecutar una sesión de reintento solo en las pruebas parametrizadas con errores Aprobado las pruebas parametrizadas no se reintentan.

    • En Android 11 y versiones posteriores, se habilita la siguiente opción de comando de reintento de forma predeterminada en el comando run cts:

      run retry --retry  --new-parameterized-handling
  9. Consulta el progreso de la prueba y los resultados informados en la consola.

Ejecuta el CTS con Android Test Station

Android Test Station es una herramienta de automatización de pruebas que prueban los desarrolladores de Android que los ingenieros pueden usar a fin de emplear una interfaz de usuario para ejecutar pruebas estándar suites. Funciona con el conjunto de pruebas de compatibilidad de Android (CTS).

La herramienta está disponible públicamente a través de Guía del usuario de ATS, y su código es de código abierto en AOSP (multitest_transport, tradefed_cluster).

Cómo ejecutar el CTS para modos alternativos

La versión de CTS 10 R4 agrega un plan de prueba para dispositivos con modos alternativos o para dispositivos con más de una pantalla. Ejecuta el plan de prueba de modos alternativos con run cts-foldable

Los casos de prueba aprobados o fallidos para el modo de pantalla alternativo se agregan con el valor de display_mode, por ejemplo, testcase1[display_mode=0].

En CTS 13, la API de DeviceStateManager permite módulos de prueba con lo siguiente de configuración que se ejecute en diferentes estados de un dispositivo plegable. La ejecución de prueba es automática en CTS en función de los estados de plegado de la pantalla definido en el dispositivo sin necesidad de ejecutar el plan de prueba cts-foldable.

<option name="config-descriptor:metadata" key="parameter" value="all_foldable_states" />

Pruebas multidispositivo en CTS

Android 13 y las versiones posteriores admiten pruebas multidispositivo. Las pruebas que requieren varios dispositivos se ejecutan automáticamente durante la ejecución del CTS. CTS 13 incluye algunas pruebas multidispositivo que se activan automáticamente cuando se fragmenta y control sobre el uso de sus datos. Si bien las pruebas no requieren cambios adicionales en la configuración física, Debes instalar virtualenv para que las pruebas se ejecuten correctamente. Para obtener más información, consulta Multidispositivos Suite.

Ejecutar pruebas multidispositivo

Para ejecutar pruebas multidispositivo de forma independiente, usa el siguiente código:

  cts-tradefed > run cts-multidevice
  

Se admiten todas las opciones normales. Para segmentar los anuncios a dispositivos específicos, agrega --serial <serial1> --serial <serial2> y así sucesivamente para la cantidad de dispositivos están orientados.

Para activar automáticamente las pruebas multidispositivo, usa la fragmentación, como en --shard-count 2.