Ejecuta pruebas de NFC en varios dispositivos (Android 15)

En este documento, se explica cómo ejecutar pruebas de NFC multidispositivo.

Cumple 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 completar los pasos anteriores, sigue estos pasos para preparar un DUT y un lector de NFC PN532 para la prueba:

  1. Conecta el DUT a una máquina anfitrión 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 Verificador de 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 APK 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 para el DUT:

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

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

    Ubicación del chip NFC

    Figura 1: Colocación del chip NFC

Configura el entorno de prueba

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 multidispositivo.

    Si ves el mensaje de error libtinfo.so.6: no version information available (required by /bin/sh) en 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 del DUT y del 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 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 del 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 completen las pruebas, los resultados de la prueba se actualizarán en la app de CTS-V. Las pruebas exitosas son verdes:

    Resultados de la prueba de CTS-V

    Figura 4: Resultados de la prueba de CTS-V

  3. Si ves alguna falla marcada en rojo, usa el siguiente comando para volver a ejecutar las pruebas fallidas:

    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"