Trade Federation es un marco de prueba continuo para ejecutar pruebas en dispositivos Android. Para ejecutar Compatibility Test Suite (CTS), primero lea la descripción general de Trade Federation para obtener una explicación del marco de prueba de Tradefed.
Para ejecutar un plan de prueba:
- Configure los dispositivos bajo prueba (DUT) según la configuración del dispositivo Android .
- Asegúrese de haber instalado las versiones recientes de Android Debug Bridge (adb) y Android Asset Packaging Tool (AAPT) y de haber agregado la ubicación de esas herramientas a la ruta del sistema de su máquina. Para obtener información sobre la instalación de esas herramientas, consulte Configuración de CTS: ADB y AAPT.
- Descargue las compilaciones CTS publicadas en su máquina host Linux y descomprímalas en la ubicación del host.
- Conecte al menos un dispositivo. Para preparar el DUT:
- Presione el botón de inicio para configurar el dispositivo en la pantalla de inicio.
- No utilice el DUT para ninguna otra tarea.
- Mantenga el DUT en una posición estacionaria para evitar que se active la actividad del sensor.
- Apunte la cámara del dispositivo hacia un objeto que pueda enfocarse.
- No presione ninguna tecla del dispositivo mientras el CTS esté funcionando. Presionar teclas o tocar la pantalla de un DUT interfiere con la ejecución de las pruebas y puede provocar fallas en las pruebas.
Inicie el script cts-tradefed de la consola CTS desde la carpeta donde se descomprimió el paquete CTS. En el shell de línea de comandos del host, ejecute:
./android-cts/tools/cts-tradefed
Ejecute el plan de prueba predeterminado (contiene todos los paquetes de prueba):
cts-tradefed > run cts
Si desea mejorar el tiempo de ejecución de las pruebas, puede dividir las pruebas en varios dispositivos. La fragmentación requiere que el host conecte al menos dos dispositivos, pero se recomiendan seis o más dispositivos para mayor eficiencia. Al fragmentar más de 1 dispositivo:
Para Android 9 y superior, use la opción de comando
--shard-count number_of_shards
Para Android 8.1 y versiones anteriores, use la opción de comando
--shards number_of_shards
Si no desea ejecutar todo el conjunto de pruebas, puede ejecutar el plan CTS de su elección desde la línea de comando:
run cts --plan test_plan_name
Para encontrar el nombre del plan de prueba:
Para Android 7.0 y superior, para ver una lista de módulos de prueba, ingrese
list modules
Para Android 6.0 y versiones anteriores, para ver una lista de planes de prueba en el repositorio, ingrese
list plans
Para Android 6.0 y versiones anteriores, para ver una lista de paquetes de prueba en el repositorio, ingrese
list packages
Para opciones de comando adicionales según las versiones de CTS, consulte la referencia de comandos de la consola o en "ayuda a todos" en la consola Tradefed.
Ejecute varias sesiones de reintento hasta que se completen todos los módulos de prueba y los números de falla de la prueba sean los mismos en las dos últimas sesiones de reintento.
Para Android 9 y superior, utilice
run retry --retry session_number --shard-count number_of_shards
Para Android 7.0–8.1, use
run cts --retry session_number --shards number_of_shards
Para conocer opciones adicionales del comando Reintentar según la versión de CTS, consulte Consola de comandos CTS v2 .
Para comprender los detalles de implementación del reintento de CTS, consulte Reintento de Trade Federation Suite .
Ejecute una sesión de reintento solo en pruebas paratermizadas fallidas. Las pruebas parametrizadas aprobadas no se vuelven a intentar.
Para Android 11 y versiones posteriores, la siguiente opción de comando de reintento está habilitada de forma predeterminada en el comando
run cts
:run retry --retry
--new-parameterized-handling
Vea el progreso de la prueba y los resultados informados en la consola.
Ejecute CTS usando la estación de prueba de Android
Android Test Station es una herramienta de automatización de pruebas que los desarrolladores e ingenieros de pruebas de Android pueden utilizar para emplear una interfaz de usuario para ejecutar conjuntos de pruebas estándar. Funciona con Android Compatibility Test Suite (CTS) .
La herramienta está disponible públicamente a través de la Guía del usuario de ATS y su código es de código abierto en AOSP ( multitest_transport
, tradefed_cluster
).
Ejecute CTS para modos alternativos
La versión CTS 10 R4 agrega un plan de prueba para dispositivos con modos alternativos o para dispositivos con más de una pantalla. Ejecute el plan de prueba de modos alternativos usando run cts-foldable
.
A los casos de prueba aprobados o fallidos para el modo de pantalla alternativo se les agrega el valor de display_mode
, por ejemplo, testcase1[display_mode=0]
.
En CTS 13, la API DeviceStateManager permite ejecutar módulos de prueba con la siguiente opción de configuración en diferentes estados de un dispositivo plegable. La ejecución de la prueba es automática en CTS en función de los estados de plegado de la pantalla definidos 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 versiones posteriores admiten pruebas en múltiples dispositivos. Las pruebas que requieren múltiples dispositivos se ejecutan automáticamente durante la ejecución de CTS. CTS 13 incluye algunas pruebas multidispositivo que se activan automáticamente cuando se utiliza la fragmentación. Si bien las pruebas no requieren cambios adicionales en la configuración física, es necesario instalar virtualenv
para que las pruebas se ejecuten correctamente. Para obtener más información, consulte Suites multidispositivos .
Ejecutar pruebas multidispositivo
Para ejecutar pruebas en múltiples dispositivos de forma independiente, utilice el siguiente código:
cts-tradefed > run cts-multidevice
Se admiten todas las opciones habituales. Para apuntar a dispositivos específicos, agregue --serial <serial1> --serial <serial2>
y así sucesivamente para la cantidad de dispositivos objetivo.
Para activar pruebas multidispositivo automáticamente, use fragmentación, como en --shard-count 2
.