Przeprowadzanie testów CTS-V

Aplikacja Android Compatibility Test Suite Verifier (CTS Verifier) uzupełnia pakiet Compatibility Test Suite (CTS). CTS sprawdza interfejsy API i funkcje, które można zautomatyzować, a CTS Verifier udostępnia testy interfejsów API i funkcji, których nie można przetestować na urządzeniu stacjonarnym bez ręcznego wprowadzania danych lub pozycjonowania, takich jak jakość dźwięku, ekran dotykowy, akcelerometr i aparat.

Wymagania

Zanim uruchomisz CTS Verifier, upewnij się, że masz następujące urządzenia:

  • Urządzenie z Androidem, które przeszło test CTS i ma potwierdzoną 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 ze znaną, zgodną implementacją Bluetooth, 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ą punktu dostępu i hasłem. Router powinien mieć możliwość odłączenia się od internetu bez wyłączania zasilania.

Przygotuj też statywy, uchwyty na urządzenia i wcześniej 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

CTS Verifier zawiera te przypadki testowe NFC:

  • Field-off (korzysta z danych transakcji z 0x54)
  • Odznacz (używa danych transakcji z 0x52)
  • Polecenie HCI (0025000000) (korzysta z danych 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 pliku APK CtsVerifier: 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
  • Identyfikator autoryzowanej aplikacji (AID) na potrzeby dostępu do zdarzeń NFC: 0xA000000476416E64726F696443545341

Oczekujemy, że po stronie emulatora zdarzenie transakcji spowoduje przeniesienie odpowiedniej aktywności na pierwszy plan.

Konfiguracja

Zmień tryb nawigacji systemowej na urządzeniu testowym na tryb 3 przycisków w ten sposób:

  1. Wybierz Ustawienia.
  2. Kliknij kolejno System > Gesty > Nawigacja w systemie.
  3. Wybierz dowolny tryb nawigacji przy użyciu przycisków (najlepiej 3-przyciskowy), jeśli jest dostępny.

Aby skonfigurować środowisko testowe CTS Verifier:

  1. Na komputerze z systemem Linux:

    1. Przed zainstalowaniem aplikacji CTS Verifier 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 aplikacji CTS Verifier dla wersji Androida, którą chcesz przetestować.

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

  3. Zainstaluj CtsVerifier.apk na urządzeniu DUT z terminala na komputerze z systemem Linux:

    adb install -r -g CtsVerifier.apk
    
  4. W przypadku Androida 10 i nowszych uruchom to polecenie, aby przyznać aplikacji uprawnienia do utworzenia 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 zdefiniowanym przez siebie katalogu w zewnętrznym katalogu najwyższego poziomu na urządzeniu:

    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. Sprawdź, czy na testowanym urządzeniu prawidłowo ustawiona jest data i godzina systemowa.

Uruchamianie weryfikatora CTS

Uruchom aplikację CTS Verifier, klikając jej ikonę na urządzeniu.

Ikona narzędzia CTS Verifier w programie uruchamiającym

Rysunek 1. Ikona narzędzia CTS Verifier.

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 w narzędziu CTS Verifier.

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

Weryfikator jakości strumieniowania wideo

Rysunek 3. Ekran testowy z wyróżnionymi typowymi elementami testowymi.

  • 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, gdy test zostanie otwarty po raz pierwszy.
  • Nie (!). Kliknij, jeśli urządzenie nie spełnia wymagań testu zgodnie z instrukcjami w sekcji Informacje.

Niektóre testy, takie jak test trybu akcesoriów USB i test kalibracji aparatu, wymagają dodatkowej konfiguracji i instrukcji, które zostały opisane w kolejnych sekcjach.

Testowanie trybu akcesoriów USB na urządzeniach z Androidem 8.0 i nowszym

Test akcesoriów USB w narzędziu CTS Verifier

Rysunek 4. Procedura testowania akcesoriów USB w przypadku Androida 8.0 i nowszych wersji.

Test akcesoriów USB w narzędziu CTS Verifier

Rysunek 5. Testowanie trybu akcesoriów USB na urządzeniach z Androidem 8.0 i nowszym.

Testowanie trybu akcesoriów USB w przypadku wersji 7.x i starszych

Test akcesoriów USB wymaga komputera z systemem Linux, na którym będzie uruchomiony program na komputer stacjonarny USB (host).

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

    ./cts-usb-accessory
    
  3. Poczekaj, aż na urządzeniu 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 akcesoriów USB w aplikacji CTS Verifier na testowanym urządzeniu.

  5. Sprawdź dane wyjściowe w konsoli na komputerze. 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 kamery

Skorzystaj z procedury kalibracji pola widzenia, aby szybko określić pole widzenia urządzenia ze średnią dokładnością.

  1. Skonfiguruj środowisko testowe:

    1. Wydrukuj plik docelowy wzoru kalibracyjnego w formacie PDF na papierze o rozmiarze 11 x 17 cali lub A3.
    2. Przymocuj wydrukowany wzór do sztywnego podłoża.
    3. Ustaw urządzenie z aparatem i wydrukowany wzorzec zgodnie z tym diagramem:

      Wydrukowany cel kamery

      Rysunek 7. Wydrukowany cel kamery.

  2. Ustaw szerokość docelową:

    1. Zmierz odległość (w centymetrach) między liniami ciągłymi na wzorze docelowym, aby uwzględnić niedokładności druku (ok. 38 cm).
    2. Uruchom aplikację do kalibracji.
    3. Naciśnij przycisk konfiguracji i wybierz Odległość znacznika.
    4. Zmierz i wpisz odległość do wzorca (~100 cm).
    5. Aby wrócić do podglądu kalibracji, naciśnij przycisk Wstecz.
  3. Sprawdź, czy urządzenie i cel są umieszczone zgodnie z rysunkiem, a w oknie konfiguracji wpisano prawidłowe odległości. W podglądzie obraz jest wyświetlany z nałożoną na niego pionową linią, która powinna być wyrównana do linii środkowej wzorca docelowego. Przezroczystą siatkę można wykorzystać z innymi liniami pionowymi, aby sprawdzić, czy oś optyczna jest prostopadła do celu.

  4. Przeprowadź test kalibracji:

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

Uruchamianie narzędzia CTS Verifier 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ż jednym trybem ekranu.

U góry głównego widoku listy w CTS Verifier znajduje się przycisk, który umożliwia użytkownikom przełączanie się między trybem rozłożonego i złożonego wyświetlacza. CTS Verifier wyświetli testy wymagane w wybranym trybie wyświetlania. Aby uruchomić tryby alternatywne w narzędziu CTS Verifier, 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 CTS Verifier.

Wyniki testów złożonych będą rejestrowane w tym samym raporcie co wyniki testów niezłożonych. Aby odróżnić wyniki testów, z których pochodzi zbiór testowy, do nazwy każdego testu w trybie zwiniętym 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 w postaci raportu 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ę zapisu (dysku) u góry listy kategorii testów.

  2. Poczekaj na wyświetlenie okna z ścieżką do zapisanego raportu (np. /sdcard/verifierReports/ctsVerifierReport-date-time.zip), a następnie zapisz tę ścieżkę.

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

  4. Z instalacji pakietu 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 wersji pobierz wszystkie raporty za pomocą tego polecenia:

      adb pull /mnt/sdcard/ctsVerifierReports/
      
    • W przypadku Androida 10 i nowszych wersji, 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 połą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 pozytywne lub negatywne, wybierz je w aplikacji CTS Verifier i kliknij Menu > Wyczyść.