Weryfikator pakietu CTS (Compatibility Test Suite Verifier) uzupełnia pakiet CTS (Compatibility Test Suite). Pakiet CTS sprawdza interfejsy API i funkcje, które można zautomatyzować, a weryfikator CTS udostępnia testy interfejsów API i funkcji, których nie można przetestować na urządzeniu stacjonarnym bez ręcznego wprowadzania danych lub ustawiania pozycji, takich jak jakość dźwięku, ekran dotykowy, akcelerometr i aparat.
Wymagania
Zanim uruchomisz weryfikator CTS, upewnij się, że masz te urządzenia:
- Urządzenie z Androidem, które przeszło testy CTS i ma zweryfikowaną zgodność z interfejsem Android API. Jest to testowane urządzenie (DUT).
- Komputer z systemem Linux i portem zgodnym z USB 2.0. Wszystkie połączenia z DUT przechodzą przez ten port.
- Drugie urządzenie z Androidem, które ma znaną, zgodną implementację Bluetootha, Wi-Fi Direct, Wi-Fi Aware, UWB (jeśli DUT obsługuje UWB) i emulacji karty hosta NFC (HCE).
- Router Wi-Fi skonfigurowany z nazwą i hasłem punktu dostępu. Router powinien mieć możliwość odłączenia się od internetu bez wyłączania zasilania.
Przygotuj też statywy, uchwyty na urządzenia i wstępnie zmierzone odległości wymagane do testów pomiaru odległości (zbliżenia) w przypadku UWB, Wi-Fi NAN i Bluetooth RSSI. Więcej informacji znajdziesz w artykule Kalibracja obecności.
Wymagania dotyczące karty UICC w przypadku testów NFC
Weryfikator CTS ma te przypadki testowe NFC:
- Field-off (wykorzystuje dane transakcji z 0x54)
- De-select (wykorzystuje dane transakcji z 0x52)
- Polecenie HCI (0025000000) (wykorzystuje dane transakcji z 0x02)
Testy zdarzeń transakcji wymagają 2 urządzeń, z których jedno musi mieć kartę UICC SecureElement z tymi regułami dostępu:
- Hasz APK CtsVerifier: 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
- Autoryzowany identyfikator aplikacji (AID) na potrzeby dostępu do zdarzeń NFC: 0xA000000476416E64726F696443545341
W przypadku emulatora oczekujemy, że zdarzenie transakcji przeniesie odpowiednią aktywność na pierwszy plan.
Konfiguracja
Android 17 wymaga dodatkowego kroku konfiguracji CTS-V, w którym domyślnej przeglądarce przyznana zostanie rola.
Zmień tryb nawigacji systemowej na urządzeniu testowym na tryb 3 przycisków:
- Otwórz Ustawienia.
- Otwórz System > Interakcja > Tryb nawigacji.
- Wybierz dowolny tryb nawigacji oparty na przyciskach. Jeśli jest dostępny, preferowany jest tryb 3 przycisków.
Aby skonfigurować środowisko testowe weryfikatora CTS:
Na komputerze z systemem Linux:
- Przed zainstalowaniem weryfikatora CTS uruchom to polecenie, aby zezwolić na dostęp do interfejsów innych niż SDK:
adb shell settings put global hidden_api_policy 1Zainstaluj Android Studio.
Pobierz plik APK weryfikatora CTS dla wersji Androida, którą chcesz przetestować.
Podłącz DUT do komputera z systemem Linux.
W terminalu na komputerze z systemem Linux zainstaluj plik
CtsVerifier.apkna DUT:adb install -r -g CtsVerifier.apkW przypadku Androida 10 lub nowszego uruchom to polecenie, aby przyznać aplikacji uprawnienia do tworzenia raportu:
adb shell appops set com.android.cts.verifier android:read_device_identifiers allowW przypadku Androida 11 lub nowszego uruchom to polecenie, aby umożliwić zapisywanie raportów w samodzielnie zdefiniowanym katalogu w zewnętrznym katalogu najwyższego poziomu urządzenia:
adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0W przypadku Androida 13 i nowszych uruchom to polecenie, aby zezwolić na dostęp do testowego interfejsu API przez aplikację CTS Verifier:
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifierW przypadku Androida 14 lub nowszego uruchom to polecenie, aby przyznać aplikacji uprawnienia do włączania ekranu:
adb shell appops set com.android.cts.verifier TURN_SCREEN_ON 0W przypadku Androida 17 lub nowszego uruchom to polecenie, aby przyznać weryfikatorowi CTS rolę domyślnej przeglądarki:
adb shell 'cmd role add-role-holder --user $(am get-current-user) android.app.role.BROWSER com.android.cts.verifier'Sprawdź, czy na DUT prawidłowo ustawiono datę i godzinę systemową.
Uruchamianie weryfikatora CTS
Uruchom aplikację weryfikatora CTS, klikając ikonę weryfikatora CTS na DUT.
Rysunek 1. Ikona weryfikatora CTS.
Aplikacja wyświetla kilka zestawów testów dostępnych do ręcznej weryfikacji.
Rysunek 2. Menu testów weryfikatora CTS.
Każdy test zawiera zestaw wspólnych elementów u dołu ekranu.
Rysunek 3. Ekran testu z wyróżnionymi wspólnymi elementami testu.
- Zaliczone (✓). Kliknij, jeśli DUT spełnia wymagania testu zgodnie z instrukcjami w sekcji Informacje.
- Informacje (?). Kliknij, aby wyświetlić instrukcje testu. Pojawia się też automatycznie przy pierwszym otwarciu testu.
- Nie zaliczone (!). Kliknij, jeśli DUT nie spełnia wymagań testu zgodnie z instrukcjami w sekcji Informacje.
Niektóre testy, np. tryb akcesorium USB, wymagają dodatkowej konfiguracji i instrukcji, które znajdziesz w kolejnych sekcjach.
Testowanie trybu akcesorium USB w Androidzie 8.0 lub nowszym
Rysunek 4. Procedura testowania akcesorium USB w Androidzie 8.0 lub nowszym.
Rysunek 5. Testowanie trybu akcesorium USB w Androidzie 8.0 lub nowszym.
Testowanie trybu akcesorium USB w Androidzie 7.x lub starszym
Test akcesorium USB wymaga komputera z systemem Linux, na którym będzie uruchomiony program USB desktop machine (host).
- Podłącz DUT do komputera z systemem Linux.
Na komputerze uruchom program
cts-usb-accessoryz pakietu weryfikatora CTS:./cts-usb-accessoryPoczekaj, aż na DUT pojawi się okno dialogowe, a następnie kliknij OK.
Rysunek 6. Test akcesorium USB
Otwórz test akcesorium USB w aplikacji weryfikatora CTS na DUT.
Na komputerze sprawdź dane wyjściowe w konsoli. Przykładowe dane wyjściowe:
CTS USB Accessory Tester Found possible Android device (413c:2106) - attempting to switch to accessory mode... Failed to read protocol versionfigure3 Found Android device in accessory mode (18d1:2d01)... [RECV] Message from Android device #0 [SENT] Message from Android accessory #0 [RECV] Message from Android device #1 [SENT] Message from Android accessory #1 [RECV] Message from Android device #2 [SENT] Message from Android accessory #2 [RECV] Message from Android device #3 [SENT] Message from Android accessory #3 [RECV] Message from Android device #4 [SENT] Message from Android accessory #4 [RECV] Message from Android device #5 [SENT] Message from Android accessory #5 [RECV] Message from Android device #6 [SENT] Message from Android accessory #6 [RECV] Message from Android device #7 [SENT] Message from Android accessory #7 [RECV] Message from Android device #8 [SENT] Message from Android accessory #8 [RECV] Message from Android device #9 [SENT] Message from Android accessory #9 [RECV] Message from Android device #10 [SENT] Message from Android accessory #10
Uruchamianie weryfikatora CTS w trybach alternatywnych
Od wersji CTS 10 R6 i CTS 11 R2 weryfikator CTS obsługuje testy wymagane w przypadku urządzeń z trybami alternatywnymi lub urządzeń z więcej niż 1 trybem ekranu.
U góry głównego widoku listy w weryfikatorze CTS znajduje się przycisk, który umożliwia użytkownikom przełączanie się między trybem wyświetlania na rozłożonym i złożonym ekranie. Weryfikator CTS wyświetli testy wymagane w przypadku wybranego trybu wyświetlania. Aby uruchomić tryby alternatywne w weryfikatorze CTS, należy przełączyć przycisk na odpowiedni tryb wyświetlania i uruchomić wyświetloną listę testów.
Rysunek 7. Przełącznik weryfikatora CTS.
Wyniki testów na złożonym ekranie zostaną zapisane w tym samym raporcie co wyniki testów na rozłożonym ekranie. Aby można było zidentyfikować, z którego zestawu testów pochodzi każdy wynik testu, do nazwy każdego testu w trybie złożonym dodawany jest sufiks.
<Test result="fail" name="com.android.cts.verifier.deskclock.DeskClockTestsActivity[folded]">
<RunHistory subtest="CREATE_ALARM[folded]">
<Run start="1594176663973" end="1594176665841" isAutomated="false" />
</RunHistory>
</Test>
Eksportowanie wyników
Po zakończeniu wszystkich testów możesz zapisać wyniki jako raport i pobrać je na komputer. Nazwy raportów są automatycznie oznaczane sygnaturą czasową na podstawie czasu systemowego DUT.
Aby zapisać wyniki testu, kliknij ikonę zapisywania (dysku) u góry listy kategorii testów.
Poczekaj, aż pojawi się okno dialogowe z ścieżką do zapisanego raportu (np.
/sdcard/verifierReports/ctsVerifierReport-date-time.zip), a następnie zapisz ścieżkę.Podłącz DUT do komputera z systemem Linux.
Z instalacji Android SDK na komputerze z systemem Linux pobierz raporty z podłączonego urządzenia za pomocą polecenia
adb shell content readlubadb pull CTSVerifierReportPath.W przypadku Androida 7.x lub nowszego pobierz wszystkie raporty za pomocą tego polecenia:
adb pull /sdcard/verifierReportsW przypadku Androida 6.0 lub starszego pobierz wszystkie raporty za pomocą tego polecenia:
adb pull /mnt/sdcard/ctsVerifierReports/W przypadku Androida 10 lub nowszego, implementacji Automotive i urządzeń działających jako użytkownik dodatkowy pobierz najnowszy raport za pomocą tego polecenia:
adb shell content read --user <var>CURRENT_USER</var> --uri content://com.android.cts.verifier.testresultsprovider/reports/latest > report.zipAby wyświetlić listę wszystkich raportów dostępnych na podłączonym urządzeniu:
adb shell content query --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports ``` To download a report from the list, you can specify the Row ID or filename. For example: ```shell adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports/0 > report.zip ``` ```shell adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports ctsVerifierReport-date-time.zip > report.zip ```
Aby wyczyścić wyniki zaliczenia lub niezaliczenia, wybierz wyniki w aplikacji weryfikatora CTS i kliknij Menu > Wyczyść.