Przeprowadzanie testów CTS-V

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:

  1. Otwórz Ustawienia.
  2. Otwórz System > Interakcja > Tryb nawigacji.
  3. Wybierz dowolny tryb nawigacji oparty na przyciskach. Jeśli jest dostępny, preferowany jest tryb 3 przycisków.

Aby skonfigurować środowisko testowe weryfikatora CTS:

  1. Na komputerze z systemem Linux:

    1. 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 1
    
    1. Zainstaluj Android Studio.

    2. Pobierz plik APK weryfikatora CTS dla wersji Androida, którą chcesz przetestować.

  2. Podłącz DUT do komputera z systemem Linux.

  3. W terminalu na komputerze z systemem Linux zainstaluj plik CtsVerifier.apk na DUT:

    adb install -r -g CtsVerifier.apk
    
  4. W 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 allow
    
  5. W 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 0
    
  6. W 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.verifier
    
  7. W 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 0
    
  8. W 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'
    
  9. 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.

Ikona CTS Verifier w programie uruchamiającym

Rysunek 1. Ikona weryfikatora CTS.

Aplikacja wyświetla kilka zestawów testów dostępnych do ręcznej weryfikacji.

Menu testów w narzędziu CTS Verifier

Rysunek 2. Menu testów weryfikatora CTS.

Każdy test zawiera zestaw wspólnych elementów u dołu ekranu.

Weryfikator jakości strumieniowania wideo

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

Test akcesoriów USB w narzędziu CTS Verifier

Rysunek 4. Procedura testowania akcesorium USB w Androidzie 8.0 lub nowszym.

Test akcesoriów USB w narzędziu CTS Verifier

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).

  1. Podłącz DUT do komputera z systemem Linux.
  2. Na komputerze uruchom program cts-usb-accessory z pakietu weryfikatora CTS:

    ./cts-usb-accessory
    
  3. Poczekaj, aż na DUT pojawi się okno dialogowe, a następnie kliknij OK.

    Test akcesoriów USB w narzędziu CTS Verifier

    Rysunek 6. Test akcesorium USB

  4. Otwórz test akcesorium USB w aplikacji weryfikatora CTS na DUT.

  5. 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.

Przełącznik CTS-V

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.

  1. Aby zapisać wyniki testu, kliknij ikonę zapisywania (dysku) u góry listy kategorii testów.

  2. 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ę.

  3. Podłącz DUT do komputera z systemem Linux.

  4. Z instalacji Android SDK na komputerze z systemem Linux pobierz raporty z podłączonego urządzenia za pomocą polecenia adb shell content read lub adb pull CTSVerifierReportPath.

    • W przypadku Androida 7.x lub nowszego pobierz wszystkie raporty za pomocą tego polecenia:

      adb pull /sdcard/verifierReports
      
    • W 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.zip
      

      Aby 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
        ```
      
  5. Aby wyczyścić wyniki zaliczenia lub niezaliczenia, wybierz wyniki w aplikacji weryfikatora CTS i kliknij Menu > Wyczyść.