El verificador del Conjunto de pruebas de compatibilidad (Verificador del CTS) de Android complementa el Conjunto de pruebas de compatibilidad (CTS). Mientras que el CTS verifica las APIs y las funciones que se pueden automatizar, el verificador del CTS proporciona pruebas para las APIs y las funciones que no se pueden probar en un dispositivo fijo sin entradas manuales o posicionamiento, como la calidad de audio, la pantalla táctil, el acelerómetro y la cámara.
Requisitos
Antes de ejecutar CTS Verifier, asegúrate de tener el siguiente equipo:
- Dispositivo Android que verificó la compatibilidad con la API de Android aprobando correctamente el CTS Este es el dispositivo en prueba (DUT).
- Computadora Linux con puerto compatible con USB 2.0 Todas las conexiones al DUT pasan por este puerto.
- Segundo dispositivo Android con una implementación conocida de Bluetooth, Wi-Fi Direct, Wi-Fi Aware, UWB (si el DUT admite UWB) y emulación de tarjeta de host NFC (HCE) compatibles.
- Un router Wi-Fi configurado con el nombre y la contraseña del punto de acceso El router debe poder desconectarse de Internet, pero no debe estar apagado.
Asegúrate de preparar también los trípodes, los soportes del dispositivo y las distancias medidas previas necesarias para las pruebas de medición de distancia (proximidad) para UWB, Wi-Fi NAN y RSSI de Bluetooth. Para obtener más información, consulta Calibración de presencias.
Requisitos de la UICC para las pruebas de NFC
El verificador de CTS tiene los siguientes casos de prueba de NFC:
- Campo desactivado (usa datos de transacciones desde 0x54)
- Anula la selección (usa datos de transacciones desde 0x52)
- Comando HCI (0025000000) (usa datos de transacción de 0x02)
Las pruebas de eventos de transacción requieren dos dispositivos, uno de los cuales debe tener una UICC de SecureElement con las siguientes reglas de acceso:
- Hash del APK de CtsVerifier: 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
- Identificador de aplicación autorizado (AID) para el acceso a eventos de NFC: 0xA000000476416E64726F696443545341
En el lado del emulador, esperamos que el evento de transacción envíe la actividad correspondiente al primer plano.
Configuración
Cambia el modo de navegación del sistema del dispositivo de prueba al modo de tres botones de la siguiente manera:
- Abre Configuración.
- Navega a Sistema > Gestos > Navegación del sistema.
- Selecciona cualquier modo de navegación basado en botones, preferiblemente el modo de tres botones, si está disponible.
Para configurar el entorno de pruebas del verificador del CTS, haz lo siguiente:
En la computadora con Linux, haz lo siguiente:
Ejecuta el siguiente comando antes de instalar el verificador de CTS para permitir el acceso a interfaces que no sean de SDK.
adb shell settings put global hidden_api_policy 1
Instala Android Studio.
Descarga el APK de CTS Verifier para la versión de Android que deseas probar.
Conecta el DUT a la computadora con Linux.
Desde una terminal en la computadora con Linux, instala
CtsVerifier.apk
en el DUT.adb install -r -g CtsVerifier.apk
En el caso de Android 10 y versiones posteriores, ejecuta el siguiente comando y otorga permiso a la app para crear el informe.
adb shell appops set com.android.cts.verifier android:read_device_identifiers allow
En el caso de Android 11 y versiones posteriores, ejecuta el siguiente comando para permitir que los informes se guarden en un directorio autodefinido en el directorio externo de nivel superior del dispositivo.
adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0
En el caso de Android 13 y versiones posteriores, ejecuta el siguiente comando para permitir que el verificador del CTS acceda a la API de prueba.
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier
En Android 14 y versiones posteriores, ejecuta el siguiente comando para otorgarle permiso a la app para que encienda la pantalla.
adb shell appops set com.android.cts.verifier TURN_SCREEN_ON 0
Asegúrate de que la fecha y la hora del sistema del DUT estén configuradas correctamente.
Ejecuta el verificador del CTS
Para iniciar la aplicación de CTS Verifier, presiona el ícono de CTS Verifier en el DUT.
Figura 1: Ícono del verificador del CTS
La app muestra varios conjuntos de pruebas disponibles para la verificación manual.
Figura 2: Menú de pruebas del verificador del CTS
Cada prueba contiene un conjunto de elementos comunes en la parte inferior de la pantalla.
Figura 3: Pantalla de prueba con los elementos de prueba comunes destacados
- Aprobado (✓). Presiona esta opción si el DUT cumple con los requisitos de prueba según las instrucciones de información.
- Información (?): Presiona para mostrar las instrucciones de la prueba. También aparece automáticamente la primera vez que se abre una prueba.
- Fallo (!). Presiona esta opción si el DUT no cumple con los requisitos de prueba según las instrucciones de información.
Algunas pruebas, como el modo de accesorio USB y la prueba de calibración de la cámara, requieren instrucciones y configuraciones de prueba adicionales, como se detalla en las siguientes secciones.
Prueba el modo de accesorio USB para 8.0 y versiones posteriores
Figura 4: Procedimiento de prueba de accesorios USB para Android 8.0 y versiones posteriores
Figura 5: Cómo probar el modo de accesorio USB para 8.0 y versiones posteriores
Prueba el modo de accesorio para USB en 7.x y versiones anteriores
La prueba de accesorios USB requiere una computadora con Linux para ejecutar el programa de la máquina de escritorio USB (host).
- Conecta el DUT a la computadora Linux.
En la computadora, ejecuta el programa
cts-usb-accessory
desde el paquete de verificador de CTS:./cts-usb-accessory
Espera a que aparezca un mensaje emergente en el DUT y, luego, selecciona OK.
Figura 6: Prueba de accesorios USB
Ve a la prueba de accesorios USB en la aplicación de CTS Verifier en el DUT.
En la computadora, revisa el resultado de la consola. Resultado de ejemplo:
CTS USB Accessory Tester Found possible Android device (413c:2106) - attempting to switch to accessory mode... Failed to read protocol versionfigure3 Found Android device in accessory mode (18d1:2d01)... [RECV] Message from Android device #0 [SENT] Message from Android accessory #0 [RECV] Message from Android device #1 [SENT] Message from Android accessory #1 [RECV] Message from Android device #2 [SENT] Message from Android accessory #2 [RECV] Message from Android device #3 [SENT] Message from Android accessory #3 [RECV] Message from Android device #4 [SENT] Message from Android accessory #4 [RECV] Message from Android device #5 [SENT] Message from Android accessory #5 [RECV] Message from Android device #6 [SENT] Message from Android accessory #6 [RECV] Message from Android device #7 [SENT] Message from Android accessory #7 [RECV] Message from Android device #8 [SENT] Message from Android accessory #8 [RECV] Message from Android device #9 [SENT] Message from Android accessory #9 [RECV] Message from Android device #10 [SENT] Message from Android accessory #10
Calibrar el campo visual de la cámara
Usa el procedimiento de calibración del campo de visión para determinar rápidamente el campo de visión del dispositivo con una precisión moderada.
Configura el entorno de pruebas:
- Imprime el archivo de destino calibration-pattern.pdf en papel de tamaño A3 o 11" x 17".
- Monta el patrón impreso en un soporte rígido.
Orienta el dispositivo de la cámara y el objetivo impreso como se muestra en el siguiente diagrama.
Figura 7: Objetivo impreso de la cámara
Establece el ancho objetivo:
- Mide la distancia (en centímetros) entre las líneas continuas en el patrón de objetivo para tener en cuenta las imprecisiones en la impresión (~38 cm).
- Inicia la aplicación de calibración.
- Presiona el botón de configuración y selecciona Distancia del marcador.
- Mide e ingresa la distancia al patrón del objetivo (~100 cm).
- Presiona el botón Atrás para volver a la vista previa de calibración.
Verifica que el dispositivo y el objetivo estén ubicados como se muestra en la figura y que se hayan ingresado las distancias correctas en el diálogo de configuración. La vista previa muestra la imagen con una línea vertical superpuesta. Esta línea debe alinearse con la línea central del patrón objetivo. La cuadrícula transparente se puede usar con las otras líneas verticales para garantizar que el eje óptico sea ortogonal respecto del objetivo.
Ejecuta la prueba de calibración:
- Selecciona una resolución de imagen (con el selector en la parte inferior izquierda) y, luego, presiona la pantalla para tomar una foto. La prueba entra en el modo de calibración y muestra la foto con dos líneas verticales superpuestas en la imagen.
- Determina la precisión:
- Si las líneas se alinean con las líneas verticales del patrón objetivo dentro de unos pocos centímetros, el campo de visión informado para la resolución seleccionada es preciso.
- Si las líneas no están alineadas, el campo visual informado es incorrecto. Para corregir esto, ajusta el control deslizante en la parte inferior de la pantalla hasta que la superposición se alinee con el patrón objetivo lo más cerca posible. Cuando la superposición y la imagen del patrón objetivo están alineadas, el campo de visión que se muestra es una aproximación cercana al valor correcto. El campo visual informado debe estar dentro de +/-2 grados del valor de calibración.
- Presiona el botón Atrás y repite la prueba de calibración para todas las resoluciones de imagen que admite el DUT.
Ejecuta el verificador de CTS para modos alternativos
A partir de las versiones CTS 10 R6 y CTS 11 R2, el verificador de CTS admite las pruebas necesarias para dispositivos con modos alternativos o con más de un modo de pantalla.
En la parte superior de la vista de lista principal en CTS Verifier, se muestra un botón para permitir que los usuarios alternen entre el modo de pantalla desplegado y plegado. El verificador del CTS mostrará las pruebas necesarias para el modo de visualización seleccionado. Para ejecutar los modos alternativos en el verificador del CTS, se debe cambiar el botón al modo de visualización adecuado y ejecutar la lista de pruebas que se muestra.
Los resultados de las pruebas plegadas se registrarán en el mismo informe que las pruebas desplegadas. Para identificar cada resultado de prueba del que proviene el conjunto de pruebas, se agrega un suffijo a cada nombre de prueba en el modo plegado.
<Test result="fail" name="com.android.cts.verifier.deskclock.DeskClockTestsActivity[folded]">
<RunHistory subtest="CREATE_ALARM[folded]">
<Run start="1594176663973" end="1594176665841" isAutomated="false" />
</RunHistory>
</Test>
Exportar resultados
Después de completar todas las pruebas, puedes guardar los resultados como un informe y descargarlos en una computadora. Los nombres de los informes se marcan automáticamente con la marca de tiempo según la hora del sistema del DUT.
Para guardar los resultados de la prueba, presiona el ícono de guardar (disco) en la parte superior de la lista de categorías de prueba.
Espera a que aparezca un mensaje emergente que muestre la ruta de acceso del archivo al informe guardado (por ejemplo,
/sdcard/verifierReports/ctsVerifierReport-date-time.zip
) y, luego, registra la ruta.Conecta el DUT a la computadora Linux.
Desde la instalación del SDK de Android en la computadora con Linux, descarga informes del dispositivo conectado con
adb shell content read
oadb pull CTSVerifierReportPath
.En el caso de Android 7.x y versiones posteriores, descarga todos los informes con el siguiente comando:
adb pull /sdcard/verifierReports
En el caso de Android 6.0 y versiones anteriores, descarga todos los informes con el siguiente comando:
adb pull /mnt/sdcard/ctsVerifierReports/
En el caso de Android 10 y versiones posteriores, si implementas Automotive y dispositivos que se ejecutan como usuario secundario, descarga el informe más reciente con el siguiente comando:
adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports/latest > report.zip
Para enumerar todos los informes disponibles en el dispositivo conectado, sigue estos pasos:
adb shell content query --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports
Para descargar un informe de la lista, puedes especificar el ID de fila o el nombre del archivo. Por ejemplo:
adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports/0 > report.zip adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports/ctsVerifierReport-date-time.zip > report.zip
Para borrar los resultados de aprobado o reprobado, selecciona los resultados en la app de CTS Verifier y elige Menú > Borrar.