Przeprowadzanie testów CTS-V

Weryfikator CTS (Android 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 przeprowadza 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. To jest 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 sekcji 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)
  • HCI command (0025000000) (wykorzystuje dane transakcji z 0x02)

Testy zdarzeń transakcji wymagają 2 urządzeń, z których jedno musi mieć kartę SecureElement UICC z tymi regułami dostępu:

  • Hasz APK weryfikatora CTS: 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 i nowszych 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 i nowszych uruchom to polecenie, aby zezwolić na 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 i nowszych 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 i nowszych 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 ustawiona jest data i godzina systemowa.

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. test trybu akcesorium USB i test kalibracji aparatu, wymagają dodatkowej konfiguracji i instrukcji, które znajdziesz w kolejnych sekcjach.

Testowanie trybu akcesorium USB w Androidzie 8.0 i nowszym

Test akcesoriów USB w narzędziu CTS Verifier

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

Test akcesoriów USB w narzędziu CTS Verifier

Rysunek 5. Testowanie trybu akcesorium USB w Androidzie 8.0 i nowszym.

Testowanie trybu akcesorium USB w Androidzie 7.x i starszym

Test akcesorium USB wymaga komputera z systemem Linux, na którym można uruchomić 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 potem 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
    

Kalibrowanie pola widzenia aparatu

Aby szybko określić pole widzenia urządzenia z umiarkowaną dokładnością, użyj procedury kalibracji pola widzenia.

  1. Skonfiguruj środowisko testowe:

    1. Wydrukuj plik docelowy PDF z wzorem kalibracyjnym na papierze o rozmiarze 11 × 17 cali lub A3.
    2. Przyklej wydrukowany wzór na sztywnym podłożu.
    3. Ustaw aparat i wydrukowany wzór tak jak na tym diagramie:

      Wydrukowany cel kamery

      Rysunek 7. Wydrukowany wzór kalibracyjny.

  2. Ustaw szerokość wzoru:

    1. Zmierz odległość (w centymetrach) między liniami ciągłymi na wzorze, aby uwzględnić niedokładności druku (ok. 38 cm).
    2. Uruchom aplikację do kalibracji.
    3. Naciśnij przycisk konfiguracji i wybierz Odległość między znacznikami.
    4. Zmierz i wpisz odległość do wzoru (ok. 100 cm).
    5. Aby wrócić do podglądu kalibracji, naciśnij przycisk Wstecz.
  3. Sprawdź, czy urządzenie i wzór są umieszczone tak jak na ilustracji oraz czy w oknie konfiguracji wpisano prawidłowe odległości. W podglądzie wyświetla się obraz z nałożoną na niego linią pionową. Ta linia powinna być wyrównana do linii środkowej wzoru. Przezroczystą siatkę można używać z innymi liniami pionowymi, aby sprawdzić, czy oś optyczna jest prostopadła do wzoru.

  4. Uruchom test kalibracji:

    1. Wybierz rozdzielczość obrazu (za pomocą selektora w lewym dolnym rogu), a potem kliknij ekran, aby zrobić zdjęcie. Test przechodzi w tryb kalibracji i wyświetla zdjęcie z nałożonymi na nie 2 liniami pionowymi.
    2. Określ dokładność:
    3. Jeśli linie są wyrównane z liniami pionowymi na wzorze z dokładnością do kilku centymetrów, zgłoszone pole widzenia dla wybranej rozdzielczości jest dokładne.
    4. Jeśli linie nie są wyrównane, zgłoszone pole widzenia jest niedokładne. Aby to poprawić, dostosuj suwak u dołu ekranu, aż nakładka będzie jak najbardziej wyrównana ze wzorem. Gdy nakładka i obraz wzoru są wyrównane, wyświetlane pole widzenia jest zbliżone do prawidłowej wartości. Zgłoszone pole widzenia powinno mieścić się w zakresie 3 stopni od wartości kalibracji.
    5. Naciśnij przycisk Wstecz i powtórz test kalibracji dla wszystkich rozdzielczości obrazu obsługiwanych przez DUT.

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 po rozłożeniu i złożeniu. 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 8. Przełącznik weryfikatora CTS.

Wyniki testów w trybie złożonym zostaną zapisane w tym samym raporcie co wyniki testów w trybie rozłożonym. Aby zidentyfikować każdy wynik testu, z którego pochodzi zestaw testów, 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 potem 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 i nowszych pobierz wszystkie raporty za pomocą tego polecenia:

      adb pull /sdcard/verifierReports
      
    • W przypadku Androida 6.0 i starszych pobierz wszystkie raporty za pomocą tego polecenia:

      adb pull /mnt/sdcard/ctsVerifierReports/
      
    • W przypadku Androida 10 i nowszych, 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 zaliczone lub nie zaliczone, wybierz wyniki w aplikacji weryfikatora CTS i kliknij kolejno Menu > Wyczyść.