Ejecuta pruebas de NFC multidispositivo

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

Cumpla con los requisitos previos

Antes de ejecutar pruebas de NFC multidispositivo, 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 de NFC PN532 para la prueba

Después de terminar los pasos anteriores, sigue estos pasos para ejecutar preparar un DUT y un lector de 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 mediante ADB.
  3. Instala la app del verificador del CTS (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 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 activación de NFC esté activado.
  4. Coloca un chip NFC en el lector NFC del teléfono:

    1. Adquirir 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

Cómo configurar el entorno de prueba

Sigue estos pasos para ejecutar y 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 multidispositivo.

    Si ves el mensaje de error libtinfo.so.6: no version information available (required by /bin/sh) en el entorno 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 la plataforma de pruebas configurando los IDs de serie del DUT y el lector de 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 Pruebas de NFC:

    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 apps 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 que se realizan correctamente aparecen en verde:

    Resultados de la prueba de CTS-V

    Figura 4: Resultados de la prueba de CTS-V

  3. Si ves algún error marcado 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`"
    

    donde:

    • TestCaseA y TestCaseB son los nombres de los casos de prueba como se muestra 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"