Ejecuta pruebas de varios dispositivos del verificador de CTS

En esta página, se incluyen instrucciones para usar las pruebas de CTS Verifier (CTS-V) de Better Together para Android 16 QPR2 o versiones posteriores.

Configura pruebas multidispositivo del host

En esta sección, se explica cómo configurar pruebas en varios dispositivos.

  1. Verifica que tu computadora de escritorio cumpla con los requisitos del sistema operativo para CTS.
  2. Sigue los pasos 2 y 5 de Instala software para computadoras para instalar y verificar que adb, AAPT2 y Python estén instalados correctamente en tu computadora.

    • La versión de Python debe ser 3.11 o superior. Para determinar tu versión de Python, ejecuta python3 --version. Si la versión es anterior a la 3.11, instala la versión oficial más reciente de Python. Para obtener más información, consulta la sección de descargas de python.org.
    • Algunas pruebas requieren que el host tenga el módulo venv de Python. En los sistemas Debian y Ubuntu, es posible que este módulo no esté instalado de forma predeterminada. Para determinar si tu versión de Python tiene el módulo venv, ejecuta python3 -m venv venv. Si este comando falla, se mostrará un mensaje de error. Sigue las indicaciones para instalar el paquete python3.x-venv.
  3. Prepara dos dispositivos en prueba (DUT) coincidentes, cada uno con CTS-V configurado.

  4. Ve a la sección de configuración de tu tipo de prueba:

    Si tu prueba no está en esta lista, continúa con Cómo configurar pruebas estándar con dos dispositivos.

Cómo configurar pruebas de NFC

Las pruebas de NFC usan un DUT y un chip NFC PN532.

Para configurar pruebas de NFC, haz lo siguiente:

  1. Compra un chip NFC PN532. Te recomendamos el All-In-One PN532.
  2. En el DUT, navega a la app de Configuración.

  3. Habilita NFC.

  4. Coloca el chip NFC de la siguiente manera:

    • En el caso de los teléfonos, coloca el lector NFC del DUT como se muestra en la figura 1:

      Posicionamiento del chip NFC

      Figura 1: Posicionamiento del chip NFC

    • En otros tipos de dispositivos, coloca el chip junto a la antena NFC del dispositivo.

  5. Conecta el chip NFC PN532 a tu estación de trabajo de prueba con un cable USB.

Opcional: Configura pruebas de conexión de AP de Wi-Fi

Las pruebas de conexión del punto de acceso (AP) de Wi-Fi (CtsWifiConnectionTests) prueban la conectividad entre un DUT y un AP. Te recomendamos que ejecutes estas pruebas, pero no son obligatorias en CTS-V Android 16 16 QPR2.

Estas pruebas requieren un DUT y un AP OpenWrt Banana Pi R3.

Para configurar pruebas de conexión de AP de Wi-Fi, haz lo siguiente:

  1. Compra el AP Banana Pi R3 y los accesorios que se indican en esta tabla:

    Artículo Cantidad
    Placa BPi-R3, similar a la placa de router Banana Pi BPI-R3 con diseño de chip MediaTek MT7986 compatible con Wi-Fi 6, 2 GB de RAM DDR y 8 GB de memoria flash eMMC integrada 1
    Caja de aluminio para BPi-R3, similar a la caja de hierro para BPI-R3 1
    Disipador de calor de aluminio BPi-R3 (ventilador de enfriamiento), similar al disipador de calor de aluminio BPI-R3 con ventilador 1
    Antena de 2 y 5 GHz con cable, similar a la antena de 5 dB de la tienda de BPI 8
    Adaptador de alimentación, similar a la fuente de alimentación de 12 V/2 A CC 1

    Para realizar la compra, consulta la sección Fácil de comprar de la página de Banana Pi BPI-R3.

  2. Configura el punto de acceso. Para obtener información sobre cómo configurar el punto de acceso, consulta Cómo configurar el AP de Banana Pi BPI-R3.

  3. Opcional: Si no tienes una caja de protección, te recomendamos la caja de protección JTP-SR101. Compra esta caja con la siguiente información:

    Dong Guan Zheng Sheng Electronics Technology Co., LTD
    Bohui Industrial Park, Panlong Road, Liaobu Town, Dongguan City, Guangdong Province, China
    Contacto: Forest Pan
    Correo electrónico: forest.pan@jtpmak.cn
    Teléfono (China): +86 18676993556

  4. Conecta el DUT y el AP al host, y colócalos en una caja de protección contra RF. El DUT y el AP deben estar separados por al menos 10 cm. En la figura 2, se muestra esta configuración:

    DUT y AP en caja blindada

    Figura 2: DUT y AP en la caja de aislamiento.

  5. Usa SSH para verificar que se pueda acceder al AP desde el host.

Cómo configurar pruebas estándar con dos dispositivos

Para la configuración predeterminada de dos dispositivos, haz lo siguiente:

  1. Coloca dos DUTs de Android coincidentes a una distancia aproximada de 20 cm.
  2. Para configurar un entorno limpio, coloca ambos dispositivos en una caja de protección.

  3. Opcional: Configura un analizador de OTA para la depuración de Wi-Fi.

Configura pruebas de CDM

El caso de prueba test_permissions_sync() tiene un comportamiento diferente según el tipo de compilación de los dispositivos en los que se ejecuta la prueba. Es fundamental que los OEM prueben ambas compilaciones, tanto las depurables (userdebug o eng) como las no depurables (user), y que las pruebas se aprueben en ambos casos.

Exención

La cláusula de CDD para la implementación de la API de sincronización de permisos solo requiere que pueda transferir datos correctamente entre dispositivos a través de un canal seguro. Dado que la implementación del canal seguro no es un requisito de cumplimiento del CDD, esta prueba se puede omitir en las compilaciones no depurables (del usuario), pero solo si deseas inhabilitar la compatibilidad con la función de sincronización de permisos del CDM.

Las pruebas deben aprobarse en las compilaciones depurables sin excepción.

Requisitos previos para realizar pruebas en compilaciones no depurables

Si no estás exento según las cláusulas de exención anteriores, verifica que cumplas con los siguientes requisitos previos.

El canal seguro usa AVF (AttestationVerificationFramework) para verificar la confiabilidad del hardware. Las certificaciones generadas por ambas partes contienen varios datos sobre sí mismas para garantizar que no se haya producido ninguna alteración no autorizada en su sistema. Durante el proceso de verificación, el AVF comprueba los siguientes estados:

  • El dispositivo tiene acceso a Internet
  • El dispositivo usa el inicio verificado y la compilación debe firmarse con una clave de lanzamiento, no con una clave de desarrollo.
  • El dispositivo tiene el bootloader bloqueado. Para obtener instrucciones detalladas, consulta cómo bloquear el bootloader.
  • Los niveles de parche del SO, el arranque clave y el proveedor de claves deben estar dentro de los 12 meses. No uses una compilación con más de un año de antigüedad
  • La certificación del dispositivo se basa en uno de los certificados raíz aprobados por el proveedor. Especifica tus certificados raíz de confianza en la superposición de recursos vendor_required_attestation_certificates.xml.

Ejecuta pruebas multidispositivo del lado del host (AOSP 16 o versiones posteriores)

El verificador del CTS 16 introduce la compatibilidad con pruebas multidispositivo del host. Estas pruebas se pueden ejecutar con secuencias de comandos automatizadas en el host, en lugar de la operación de prueba manual en el dispositivo. Después de que se completa cada prueba, los resultados se suben automáticamente al DUT y se muestran en la app de CTS Verifier.

En esta sección, se explica cómo ejecutar las pruebas multidispositivo del host.

Ejecuta pruebas en varios dispositivos

Para ejecutar una prueba en varios dispositivos, haz lo siguiente:

  1. En tu estación de trabajo de prueba, inicia la consola de cts-v-host desde el directorio en el que se descomprimió el paquete zip de CTS-V:

    ./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefed
    
  2. En la app de CTS Verifier del DUT, haz clic en Host-side Tests. En la figura 3, se muestran las pruebas del host en la app de CTS Verifier:

    Pruebas multidispositivo del lado del host en la app del verificador de CTS

    Figura 3: Pruebas multidispositivo del lado del host en la app del verificador de CTS

    Se muestra una lista de módulos de prueba multidispositivo del lado del host.

  3. Identifica el nombre del módulo de prueba que deseas ejecutar. Por ejemplo, el módulo CompanionDeviceManager aparece como CtsCompanionDeviceManagerMultiDeviceTestCases.

  4. En la consola de cts-v-host, ejecuta el siguiente comando:

    run cts-v-host -m test_module_name
    

    Por ejemplo:

    run cts-v-host -m CtsCompanionDeviceManagerMultiDeviceTestCases
    

    Una vez que la consola de xTS termina de ejecutar las pruebas, los resultados aparecen en la app de CTS Verifier. Las pruebas marcadas en verde se aprobaron. Las pruebas marcadas en rojo fallaron. En la figura 4, se muestran ejemplos de los resultados de las pruebas de CtsCompanionDeviceManager:

    Resultados de pruebas multidispositivo del host en la app del verificador de CTS

    Figura 4: Resultados de pruebas multidispositivo del host en la app del verificador de CTS.

Opcional: Ejecuta pruebas de conexión de AP de Wi-Fi

Sigue estos pasos para ejecutar pruebas de conexión de AP de Wi-Fi:

  1. Edita el archivo de configuración del banco de pruebas (WifiConnectionTestbed.yaml). Este archivo se encuentra en el directorio en el que se descomprimió CTS-Verifier:

    ./android-cts-verifier/android-cts-v-host/testcases/CtsWifiConnectionTests/x86_64/connection/WifiConnectionTestbed.yaml
    
  2. Cambia el valor del campo hostname a la dirección IP del AP, según tu configuración local de SSH. Para identificar la dirección IP, consulta Cómo encontrar la dirección IP del AP.

    En el siguiente ejemplo, se muestra la ubicación del campo hostname en el archivo WifiConnectionTestbed.yaml:

    TestBeds:
    - Name: WifiConnectionTestbed
      Controllers:
        # Specify settings for the AP.
        OpenWrtDevice:
        - hostname: AP-IP
          skip_init_reboot: True
    
  3. En la consola de cts-v-host, ejecuta el siguiente comando:

    run everything -m CtsWifiConnectionTests
    

Soluciona problemas de pruebas multidispositivo

En esta sección, se proporciona ayuda para solucionar posibles problemas.

Se corrigió el problema de falta de respuesta para GetFirmwareVersion durante las pruebas de NFC.

Si recibes el mensaje verify_firmware_version RuntimeError: No response for GetFirmwareVersion mientras ejecutas las pruebas multidispositivo, significa que las pruebas no pueden acceder a la placa NFC PN532.

Para solucionar este problema, identifica la ruta de acceso serial que usa la placa NFC PN532 en tu host, como dev/ttyUSB1, y, luego, especifícala de forma manual con el argumento --module-arg en la consola:

run cts-v-host -m CtsNfcHceMultiDeviceTestCases --module-arg CtsNfcHceMultiDeviceTestCases:pn532_serial_path:/dev/ttyUSB1

Se corrigió el mensaje de error de falla en la transacción durante las pruebas de NFC.

Si recibes el mensaje Transaction failed, check device logs for more information. para todos los casos de prueba de NFC, es probable que el chip NFC del DUT no pueda detectar el PN532.

Si tienes varios dispositivos conectados al host y algunos de ellos no tienen un PN532 colocado en la parte superior, es posible que se haya seleccionado el DUT incorrecto. Para obtener más información, consulta Cómo configurar pruebas de NFC.

Para solucionar este problema, realiza una de las siguientes acciones:

  • Establece el número de serie correcto del DUT en el comando de prueba del host con la marca -s.

  • Desconecta todos los dispositivos que no sean DUT del host.

Se ignora el caso de prueba test_permissions_sync del CDM

Si la prueba se ejecuta en dispositivos que no se pueden depurar, verifica si estás exento. De lo contrario, verifica que ambos dispositivos cumplan con los requisitos previos.