Uruchamianie testów CTS Verifier na wielu urządzeniach

Na tej stronie znajdziesz instrukcje korzystania z testów CTS Verifier (CTS-V) na wielu urządzeniach w przypadku Androida 16 i nowszych wersji.

Konfigurowanie testów na wielu urządzeniach po stronie hosta

W tej sekcji dowiesz się, jak skonfigurować testy na wielu urządzeniach.

  1. Upewnij się, że komputer stacjonarny spełnia wymagania dotyczące systemu operacyjnego CTS.
  2. Wykonaj kroki 2 i 5 z sekcji Instalowanie oprogramowania na komputerze, aby upewnić się, że adb, AAPT2 i Python są prawidłowo zainstalowane na komputerze.
  3. Przygotuj 2 pasujące urządzenia poddawane testom (DUT), na których skonfigurowano CTS-V.

  4. Jeśli testujesz moduł inny niż NFC, postępuj zgodnie z instrukcjami w artykule Konfigurowanie standardowych testów na 2 urządzeniach.

  5. Jeśli testujesz moduł CDM, oprócz standardowej konfiguracji 2 urządzeń postępuj zgodnie z instrukcjami w artykule Konfigurowanie testów CDM.

Konfigurowanie standardowych testów na 2 urządzeniach

W przypadku domyślnej konfiguracji z 2 urządzeniami:

  1. Umieść 2 pasujące urządzenia z Androidem w odległości około 20 cm od siebie.
  2. Aby zapewnić czyste środowisko, umieść oba urządzenia w pudełku ekranującym.

  3. (opcjonalnie) Skonfiguruj sniffer OTA do debugowania Wi-Fi.

Konfigurowanie testów NFC

Testy NFC wykorzystują jedno urządzenie i chip NFC PN532.

Aby skonfigurować testy NFC:

  1. Kup chip NFC PN532. Zalecamy All-In-One PN532.
  2. Na testowanym urządzeniu otwórz aplikację Ustawienia.

  3. Włącz NFC.

  4. Umieść chip NFC:

    • W przypadku telefonów umieść czytnik NFC urządzenia DUT w sposób pokazany na rysunku 1:

      Położenie chipa NFC

      Rysunek 1. Położenie chipa NFC.

    • W przypadku innych typów urządzeń umieść chip obok anteny NFC urządzenia.

  5. Podłącz chip NFC PN532 do stacji testowej za pomocą kabla USB.

Konfigurowanie testów CDM

test_permissions_sync() – przypadek testowy zachowuje się inaczej w zależności od typu kompilacji urządzeń, na których jest wykonywany. Konieczne jest, aby producenci OEM testowali zarówno kompilacje z możliwością debugowania (userdebug lub eng), jak i bez możliwości debugowania (user) oraz aby testy w obu przypadkach zakończyły się powodzeniem.

Zwolnienie

Klauzula CDD dotycząca implementacji interfejsu Permissions Sync API wymaga jedynie, aby interfejs ten mógł przesyłać dane między urządzeniami przez bezpieczny kanał. Implementacja bezpiecznego kanału nie jest wymagana w ramach zgodności z CDD, więc ten test można pominąć w przypadku wersji, których nie można debugować (wersji użytkownika), ale tylko wtedy, gdy chcesz zrezygnować z obsługi funkcji synchronizacji uprawnień CDM.

Testy muszą być przeprowadzane bez wyjątku w przypadku kompilacji z możliwością debugowania.

Wymagania wstępne dotyczące testowania na kompilacjach, których nie można debugować

Jeśli nie kwalifikujesz się do zwolnienia na podstawie poprzednich klauzul, sprawdź, czy spełniasz te wymagania wstępne:

Kanał bezpieczny używa AVF (AttestationVerificationFramework) do weryfikacji wiarygodności sprzętu. Atesty generowane przez obie strony zawierają kilka informacji o nich samych, aby zapewnić, że w ich systemie nie doszło do żadnych nieautoryzowanych zmian. Podczas procesu weryfikacji AVF sprawdza te stany:

  • Urządzenie ma dostęp do internetu
  • Urządzenie korzysta z weryfikowanego rozruchu, a kompilacja musi być podpisana kluczem wersji, a nie kluczem deweloperskim.
  • Program rozruchowy urządzenia jest zablokowany. Szczegółowe instrukcje znajdziesz w artykule na temat blokowania bootloadera.
  • Poziomy poprawek systemu operacyjnego, kluczowego rozruchu i kluczowego dostawcy są w zakresie 12 miesięcy. Nie używaj kompilacji starszej niż rok.
  • Atest urządzenia jest oparty na jednym z zatwierdzonych przez dostawcę certyfikatów głównych. Określ zaufane główne certyfikaty w nakładce zasobów vendor_required_attestation_certificates.xml.

Uruchamianie testów na wielu urządzeniach po stronie hosta (AOSP 16 lub nowszy)

W CTS Verifier 16 wprowadziliśmy obsługę testów na wielu urządzeniach po stronie hosta. Testy te można przeprowadzać za pomocą zautomatyzowanych skryptów na hoście, zamiast ręcznie na urządzeniu. Po zakończeniu każdego testu wyniki są automatycznie przesyłane do testowanego urządzenia i wyświetlane w aplikacji CTS Verifier.

Z tej sekcji dowiesz się, jak przeprowadzać testy na wielu urządzeniach po stronie hosta.

Przeprowadzanie testów na wielu urządzeniach

Aby przeprowadzić test na wielu urządzeniach:

  1. Na testowej stacji roboczej uruchom cts-v-hostkonsolę z katalogu, w którym rozpakowano pakiet ZIP CTS-V:

    ./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefed
    
  2. W aplikacji CTS Verifier na urządzeniu kliknij Host-side Tests (Testy po stronie hosta). Ilustracja 2 przedstawia testy po stronie hosta w aplikacji CTS Verifier:

    Testy na wielu urządzeniach po stronie hosta w aplikacji Weryfikator CTS

    Rysunek 2. Testy na wielu urządzeniach po stronie hosta w aplikacji CTS Verifier.

    Wyświetli się lista modułów testowych po stronie hosta do testów na wielu urządzeniach.

  3. Określ nazwę modułu testowego, który chcesz uruchomić. Na przykład moduł CompanionDeviceManager jest wymieniony jako CtsCompanionDeviceManagerMultiDeviceTestCases.

  4. W konsoli cts-v-host uruchom to polecenie:

    run cts-v-host -m test_module_name
    

    Na przykład:

    run cts-v-host -m CtsCompanionDeviceManagerMultiDeviceTestCases
    

    Po zakończeniu testów w konsoli xTS wyniki pojawią się w aplikacji CTS Verifier. Testy oznaczone na zielono zostały zaliczone. Testy oznaczone na czerwono nie powiodły się. Na rysunku 3 przedstawiono przykładowe wyniki testów CtsCompanionDeviceManager:

    Wyniki testów na wielu urządzeniach po stronie hosta w aplikacji CTS Verifier

    Rysunek 3. Wyniki testu na wielu urządzeniach po stronie hosta w aplikacji CTS Verifier.

Rozwiązywanie problemów z testami na wielu urządzeniach

W tej sekcji znajdziesz pomoc w rozwiązywaniu potencjalnych problemów.

Rozwiązywanie problemu z brakiem odpowiedzi na żądanie GetFirmwareVersion podczas testów NFC

Jeśli podczas przeprowadzania testów na wielu urządzeniach pojawi się komunikat verify_firmware_version RuntimeError: No response for GetFirmwareVersion, oznacza to, że testy nie mają dostępu do płytki NFC PN532.

Aby rozwiązać ten problem, zidentyfikuj ścieżkę szeregową używaną przez płytkę NFC PN532 na hoście, np. dev/ttyUSB1, a następnie ręcznie określ ją za pomocą argumentu --module-arg w konsoli:

run cts-v-host -m CtsNfcHceMultiDeviceTestCases --module-arg CtsNfcHceMultiDeviceTestCases:pn532_serial_path:/dev/ttyUSB1

Rozwiązywanie problemów z komunikatem o błędzie „Transakcja nie powiodła się” podczas testów NFC

Jeśli w przypadku wszystkich testów NFC otrzymujesz komunikat Transaction failed, check device logs for more information., prawdopodobnie oznacza to, że układ NFC DUT nie może wykryć układu PN532.

Jeśli do hosta jest podłączonych kilka urządzeń, a na niektórych z nich nie ma czytnika PN532, mogło zostać wybrane nieprawidłowe urządzenie DUT. Więcej informacji znajdziesz w artykule Konfigurowanie testów NFC.

Aby rozwiązać ten problem, wykonaj jedną z tych czynności:

  • W poleceniu testowym po stronie hosta ustaw prawidłowy numer seryjny testowanego urządzenia za pomocą flagi -s.

  • Odłącz od hosta wszystkie urządzenia inne niż DUT.

CDM test case test_permissions_sync is ignored

Jeśli test jest przeprowadzany na urządzeniach, na których nie można debugować aplikacji, sprawdź, czy nie obowiązuje Cię zwolnienie. W przeciwnym razie upewnij się, że oba urządzenia spełniają wymagania wstępne.