Uruchamianie testów NFC na wielu urządzeniach (Android 15)

Z tego dokumentu dowiesz się, jak przeprowadzać testy NFC na wielu urządzeniach.

Spełnianie wymagań wstępnych

Zanim przeprowadzisz testy NFC na wielu urządzeniach, wykonaj te czynności:

  1. Przygotuj urządzenie z implementacją Androida 15.
  2. Przestrzegaj wymagań CTS-V.
  3. Postępuj zgodnie z instrukcjami konfiguracji CTS-V.

Przygotuj urządzenie DUT i czytnik NFC PN532 do testu

Po wykonaniu poprzednich czynności wykonaj te kroki, aby przygotować urządzenie i czytnik NFC PN532 do testu:

  1. Połącz DUT z maszyną hosta za pomocą kabla USB.
  2. Przyznaj hostowi uprawnienia dostępu do DUT przez ADB.
  3. Zainstaluj aplikację CTS Verifier (CtsVerifier.apk) na urządzeniu DUT:

    extract root/out/host/linux-x86/cts-verifier/android-cts-verifier.zip
    
    cd android-cts-verifier
    
    adb install -r -g CtsVerifier.apk
    
  4. Zainstaluj wymagane pliki APK do testowania NFC:

    cd MultiDevice
    
    adb install -r -g NfcEmulatorTestApp.apk
    

Konfigurowanie NFC na urządzeniu DUT

Aby skonfigurować NFC na testowanym urządzeniu, wykonaj te czynności:

  1. Na testowanym urządzeniu otwórz menu Ustawienia.
  2. Znajdź sekcję NFC lub Połączone urządzenia.
  3. Sprawdź, czy przełącznik NFC jest włączony.
  4. Umieść chip NFC na czytniku NFC telefonu:

    1. Kup chip NFC PN532. Zalecamy opcję All-In-One PN532, która nie korzysta z BLE.
    2. Podłącz chip NFC PN532 do hosta z systemem Linux za pomocą kabla USB.
    3. Umieść chip NFC PN532 nad czytnikiem NFC telefonu, jak pokazano na poniższym obrazie:

    Umiejscowienie chipa NFC

    Rysunek 1. Umieszczenie chipa NFC.

Konfigurowanie środowiska testowego

Aby skonfigurować środowisko testowe, wykonaj te czynności:

  1. Aby skonfigurować środowisko testowe, uruchom te polecenia:

    cd MultiDevice
    
    source build/envsetup.sh
    

    To polecenie sprawdza Pythona i konfiguruje zmienną środowiskową PYTHONPATH. Jeśli w terminalu nie pojawią się żadne błędy, środowisko jest gotowe do uruchomienia testów na wielu urządzeniach.

    Jeśli w czasie działania programu zobaczysz komunikat o błędzie libtinfo.so.6: no version information available (required by /bin/sh), uruchom to polecenie, aby zmienić nazwę pliku libtinfo.so.6:

    mv $ENV_DIRECTORY/lib/libtinfo.so.6 $ENV_DIRECTORY/lib/libtinfo.so.6.bak
    
  2. Skonfiguruj stanowisko testowe, ustawiając identyfikatory seryjne DUT i czytnika NFC PN532 w MultiDevice/config.yml:

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

Przeprowadzanie testów NFC

Aby przeprowadzić testy NFC:

  1. Otwórz aplikację CTS-V i kliknij NFC Tests (Testy NFC):

    Aplikacja CTS-V

    Rysunek 2. Aplikacja CTS-V.

    Pojawi się okno informacyjne z listą przypadków testowych:

    Przypadki testowe aplikacji CTS-V

    Rysunek 3. przypadki testowe aplikacji CTS-V.

  2. Przeprowadź testy na hoście:

    MultiDevice$ python3 tools/run_all_tests.py
    

    Po zakończeniu testów wyniki są aktualizowane w aplikacji CTS-V. Pomyślne testy są oznaczone na zielono:

    Wyniki testu CTS-V

    Rysunek 4. Wyniki testu CTS-V.

  3. Jeśli zobaczysz jakieś błędy oznaczone na czerwono, użyj tego polecenia, aby ponownie uruchomić testy, które się nie powiodły:

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

    Gdzie:

    • TestCaseATestCaseB to nazwy przypadków testowych wyświetlane w CTS-V.
    • TestFileA to plik testowy zawierający przypadki testowe.

    Na przykład:

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