Ta strona zawiera instrukcje dotyczące korzystania z testów na wielu urządzeniach w ramach weryfikatora CTS (CTS-V) w przypadku Androida 16 i wyższych.
Konfigurowanie testów na wielu urządzeniach po stronie hosta
Z tej sekcji dowiesz się, jak skonfigurować testy na wielu urządzeniach.
- Upewnij się, że komputer stacjonarny spełnia wymagania dotyczące systemu operacyjnego w przypadku CTS.
- Wykonaj kroki 2 i 5 z sekcji Instalowanie oprogramowania na komputer, aby upewnić się, że na komputerze są prawidłowo zainstalowane narzędzia adb, AAPT2 i Python.
Przygotuj 2 testowane urządzenia (DUT), każde z konfiguracją CTS-V.
- Informacje o konfigurowaniu DUT znajdziesz w artykule Konfigurowanie DUT.
- Instrukcje konfigurowania CTS-V znajdziesz w sekcji Konfiguracja.
Jeśli testujesz moduł inny niż NFC, wykonaj czynności opisane w sekcji Konfigurowanie standardowych testów na 2 urządzeniach.
- Aby przeprowadzić testy NFC, wykonaj instrukcje opisane w sekcji Konfigurowanie testów NFC.
Jeśli testujesz moduł CDM, oprócz standardowej konfiguracji z 2 urządzeniami wykonaj czynności opisane w sekcji Konfigurowanie testów CDM.
Konfigurowanie standardowych testów na 2 urządzeniach
W przypadku domyślnej konfiguracji z 2 urządzeniami:
- Umieść 2 identyczne urządzenia DUT z Androidem w odległości około 20 cm.
Aby zapewnić czyste środowisko, umieść oba urządzenia w osłoniętym pudełku.
(opcjonalnie) Skonfiguruj sniffer OTA do debugowania Wi-Fi.
Konfigurowanie testów NFC
Testy NFC wykorzystują jeden DUT i układ PN532 NFC.
Aby skonfigurować testy NFC:
- Kup chip NFC PN532. Zalecamy urządzenie All-In-One PN532.
Na urządzeniu testowym otwórz aplikację Ustawienia.
Włącz NFC.
Umieść chip NFC:
W przypadku telefonów umieść czytnik NFC urządzenia do testów zgodnie z ilustracją 1:
Rysunek 1. Umieszczenie chipa NFC.
W przypadku innych typów urządzeń umieść układ obok anteny NFC urządzenia.
Za pomocą kabla USB podłącz układ PN532 NFC do stacji roboczej do testowania.
Konfigurowanie testów CDM
Przypadek testowy test_permissions_sync()
działa inaczej w zależności od typu kompilacji na urządzeniach, na których jest wykonywany. Ważne jest, aby oba kompilacje – z możliwością debugowania (userdebug lub eng) i bez możliwości debugowania (user) – były testowane przez producentów OEM i aby testy przeszły pomyślnie w obu przypadkach.
Wyjątek
Klauzula CDD dotycząca implementacji interfejsu API synchronizacji uprawnień wymaga tylko, aby mogła ona skutecznie przesyłać dane między urządzeniami przez bezpieczny kanał. Implementacja bezpiecznego kanału nie jest wymagana przez CDD, więc można pominąć ten test w przypadku wersji niedebuggowanych (użytkownika), ale tylko wtedy, gdy nie chcesz korzystać z funkcji synchronizacji uprawnień CDM.
Testy muszą być przeprowadzane na wersjach z możliwością debugowania bez wyjątków.
Wymagania wstępne dotyczące testowania wersji nieobsługiwanych przez debuger
Jeśli nie kwalifikujesz się do zwolnienia na podstawie poprzednich klauzul, sprawdź, czy spełniasz te wymagania wstępne.
Bezpieczny kanał używa AVF (AttestationVerificationFramework
) do weryfikacji wiarygodności sprzętu. Potwierdzenie wygenerowane przez obie strony zawiera kilka informacji o tych stronach, aby zapewnić, że w ich systemie nie nastąpiła żadna nieautoryzowana zmiana. Podczas procesu weryfikacji AVF sprawdza te stany:
- Urządzenie ma dostęp do internetu.
- Urządzenie korzysta z weryfikowanego uruchamiania, a kompilacja musi być podpisana kluczem wersji, a nie kluczem deweloperskim
- Urządzenie ma zablokowany program rozruchowy. Szczegółowe instrukcje znajdziesz w artykule Zamykanie bootloadera.
- Aktualizacje systemu operacyjnego, klucza i klucza dostawcy są dostępne w ciągu 12 miesięcy. Nie używaj wersji starszej niż rok.
Potwierdzenie tożsamości urządzenia jest poparte jednym z zaakceptowanych przez dostawcę certyfikatów głównych. Podaj 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)
CTS Verifier 16 obsługuje testy na wielu urządzeniach po stronie hosta. Te testy można wykonać za pomocą zautomatyzowanych skryptów na hoście zamiast ręcznych operacji testowych na urządzeniu. Po zakończeniu każdego testu wyniki są automatycznie przesyłane do DUT i wyświetlane w aplikacji CTS Verifier.
Z tej sekcji dowiesz się, jak przeprowadzać testy na wielu urządzeniach po stronie hosta.
Uruchamianie testów na wielu urządzeniach
Aby przeprowadzić test na wielu urządzeniach:
Na stacji roboczej testowej uruchom konsolę
cts-v-host
z katalogu, w którym rozpakowano pakiet skompresowany CTS-V:./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefed
W aplikacji CTS Verifier na urządzeniu DUT kliknij Testy po stronie hosta. Rysunek 2 przedstawia testy po stronie hosta w aplikacji CTS Verifier:
Rysunek 2. testy na wielu urządzeniach po stronie hosta w aplikacji CTS Verifier;
Wyświetla się lista modułów testów wieloplatformowych po stronie hosta.
Podaj nazwę modułu testowego, który chcesz uruchomić. Na przykład moduł CompanionDeviceManager jest wymieniony jako CtsCompanionDeviceManagerMultiDeviceTestCases.
W konsoli cts-v-host uruchom to polecenie: Uwaga: jeśli w aplikacji CTS Verifier klikniesz moduł po stronie hosta, nie zobaczysz listy poszczególnych testów. Zamiast tego interfejs automatycznie wypełnia się wynikami testu po wykonaniu modułu na hoście.
W konsoli xTS uruchom to polecenie:
run cts-v-host -m test_module_name
Na przykład:
run cts-v-host -m CtsCompanionDeviceManagerMultiDeviceTestCases
Gdy konsola xTS zakończy testy, wyniki pojawią się w aplikacji CTS Verifier. Testy oznaczone na zielono zostały zaliczone. Testy oznaczone na czerwono zakończyły się niepowodzeniem. Na rysunku 3. podano przykładowe wyniki testów CtsCompanionDeviceManager:
Rysunek 3. Wyniki testów 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 dotyczącą możliwych problemów.
Naprawiono błąd „Brak odpowiedzi” dla 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 mogą uzyskać dostępu do karty NFC PN532.
Aby rozwiązać ten problem, zidentyfikuj ścieżkę seryjną używaną przez kartę NFC PN532 na hoście, na przykład dev/ttyUSB1
, a następnie ręcznie ją określ za pomocą argumentu --module-arg
w konsoli:
run cts-v-host -m CtsNfcHceMultiDeviceTestCases --module-arg CtsNfcHceMultiDeviceTestCases:pn532_serial_path:/dev/ttyUSB1
Rozwiązywanie problemu z komunikatem o błędzie podczas testów NFC
Jeśli w przypadku wszystkich testów NFC widzisz komunikat Transaction failed, check device logs for more
information.
, prawdopodobnie wynika to z tego, że chip NFC urządzenia DUT nie może wykryć modułu PN532.
Jeśli do hosta jest podłączonych kilka urządzeń, a niektóre z nich nie mają na górze PN532, może to oznaczać, że wybrano niewłaściwy DUT. Więcej informacji znajdziesz w artykule Konfigurowanie testów NFC.
Aby rozwiązać ten problem, wykonaj jedną z tych czynności:
Ustaw prawidłowy numer seryjny DUT w komendach testowych po stronie hosta za pomocą flagi
-s
.Odłącz wszystkie urządzenia inne niż DUT od hosta.
Przypadek testowy CDM test_permissions_sync
jest ignorowany
Jeśli test jest przeprowadzany na urządzeniach, których nie można debugować, sprawdź, czy nie podlegasz wyłączeniu. W przeciwnym razie upewnij się, że oba urządzenia spełniają wymagania wstępne.