Przeprowadzaj testy NFC na wielu urządzeniach

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

Spełnij wymagania wstępne.

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

  1. Przygotuj urządzenie z implementacją Androida 15.
  2. Przestrzegaj wymagań dotyczących CTS-V.
  3. Wykonaj czynności opisane w instrukcji konfiguracji CTS-V.

Przygotuj do testu DUT i czytnik NFC PN532

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

  1. Podłącz DUT do hosta przez 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 komunikacji NFC na urządzeniu DUT

Aby skonfigurować NFC w przypadku DUT:

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

    1. Uzyskaj chip NFC PN532. Zalecamy urządzenie All-In-One PN532, które nie obsługuje technologii BLE.
    2. Podłącz układ NFC PN532 do hosta z Linuksem za pomocą kabla USB.
    3. Umieść układ NFC PN532 nad czytnikiem NFC telefonu, tak jak na ilustracji:

    Miejsce umieszczenia chipa NFC

    Rysunek 1. Umieszczenie układu 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 na terminalu nie pojawią się żadne błędy, środowisko jest gotowe do przeprowadzania testów na wielu urządzeniach.

    Jeśli w czasie wykonywania programu pojawi się 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 miejsce testowe, ustawiając w MultiDevice/config.yml identyfikatory szeregowe czytnika DUT i czytnika PN532 NFC:

    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 Testy NFC:

    Aplikacja CTS-V

    Rysunek 2. Aplikacja CTS-V.

    Pojawi się okno 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. Testy, które zostały ukończone, są oznaczone na zielono:

    Wyniki testu CTS-V

    Rysunek 4. Wyniki testu CTS-V.

  3. Jeśli widzisz jakieś błędy oznaczone na czerwono, uruchom ponownie nieudane testy za pomocą tego polecenia:

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

    Gdzie:

    • TestCaseA i TestCaseB to nazwy przypadków testowych widoczne w tabeli 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"