Ejecuta pruebas de NFC en varios dispositivos (Android 15)

En este documento, se explica cómo ejecutar pruebas de NFC en varios dispositivos.

Cumple con los requisitos previos

Antes de ejecutar pruebas de NFC en varios dispositivos, haz lo siguiente:

  1. Prepara un dispositivo con tu implementación de Android 15.
  2. Sigue los requisitos de CTS-V.
  3. Sigue la configuración de CTS-V.

Prepara un DUT y un lector NFC PN532 para la prueba

Después de completar los pasos anteriores, sigue estos pasos para preparar un DUT y un lector NFC PN532 para la prueba:

  1. Conecta el DUT a una máquina host a través de USB.
  2. Otorga permisos para que el host acceda al DUT a través de ADB.
  3. Instala la app de CTS Verifier (CtsVerifier.apk) en el DUT:

    extract root/out/host/linux-x86/cts-verifier/android-cts-verifier.zip
    
    cd android-cts-verifier
    
    adb install -r -g CtsVerifier.apk
    
  4. Instala los APKs necesarios para la prueba de NFC:

    cd MultiDevice
    
    adb install -r -g NfcEmulatorTestApp.apk
    

Configura NFC para el DUT

Sigue estos pasos para configurar la NFC en el DUT:

  1. En el DUT, ve al menú Configuración.
  2. Busca la sección NFC o Dispositivos conectados.
  3. Asegúrate de que el interruptor de NFC esté activado.
  4. Coloca un chip NFC en el lector NFC del teléfono:

    1. Adquiere un chip NFC PN532. Te recomendamos la opción All-In-One PN532, que no es BLE.
    2. Conecta el chip NFC PN532 al host de Linux con un cable USB.
    3. Coloca el chip NFC PN532 sobre el lector NFC del teléfono, como se muestra en la siguiente imagen:

    Ubicación del chip NFC

    Figura 1: Ubicación del chip NFC

Configura el entorno de pruebas

Sigue estos pasos para configurar el entorno de prueba:

  1. Ejecuta estos comandos para configurar el entorno de prueba:

    cd MultiDevice
    
    source build/envsetup.sh
    

    Este comando verifica Python y configura la variable de entorno PYTHONPATH. Si no se imprimen errores en la terminal, el entorno está listo para ejecutar las pruebas en varios dispositivos.

    Si ves el mensaje de error libtinfo.so.6: no version information available (required by /bin/sh) durante el tiempo de ejecución, ejecuta el siguiente comando para cambiar el nombre del archivo libtinfo.so.6:

    mv $ENV_DIRECTORY/lib/libtinfo.so.6 $ENV_DIRECTORY/lib/libtinfo.so.6.bak
    
  2. Configura el banco de pruebas estableciendo los IDs de serie del dispositivo en prueba y del lector NFC PN532 en MultiDevice/config.yml:

    TestBeds:
      - Name: CtsNfcHceMultiDeviceTestCases-py-ctsv
        Controllers:
          AndroidDevice:
            - serial: "<device-id>"
        TestParams:
          pn532_serial_path: "<pn532-serial-path>"
    

Ejecuta las pruebas de NFC

Para ejecutar las pruebas de NFC, haz lo siguiente:

  1. Abre la app de CTS-V y presiona NFC Tests:

    La app de CTS-V

    Figura 2: La app de CTS-V

    Aparecerá la ventana de información con la lista de casos de prueba:

    Casos de prueba de la app de CTS-V

    Figura 3: Casos de prueba de la app de CTS-V

  2. Ejecuta las pruebas en tu host:

    MultiDevice$ python3 tools/run_all_tests.py
    

    Cuando se completan las pruebas, los resultados se actualizan en la app de CTS-V. Las pruebas exitosas se muestran en verde:

    Resultados de la prueba de CTS-V

    Figura 4: Resultados de la prueba de CTS-V

  3. Si ves fallas marcadas en rojo, usa el siguiente comando para volver a ejecutar las pruebas que fallaron:

    python3 tools/run_all_tests.py --test_cases "`TestCaseA`" "`TestCaseB`" --test_files "`TestFileA`"
    

    En la que:

    • TestCaseA y TestCaseB son los nombres de los casos de prueba que se muestran en CTS-V.
    • TestFileA es el archivo de prueba que contiene los casos de prueba.

    Por ejemplo:

    python3 tools/run_all_tests.py --test_cases "test_conflicting_non_payment" "test_conflicting_non_payment_prefix" --test_files "CtsNfcHceMultiDeviceTestCases-py-ctsv"