Konfigurowanie testowania automatycznego CTS

Zanim uruchomisz automatyczne testy CTS, przygotuj środowisko fizyczne, skonfiguruj stację roboczą i urządzenie, które testujesz.

Konfigurowanie środowiska fizycznego

Niektóre testy CTS wymagają użycia urządzeń zewnętrznych, które należy skonfigurować w pobliżu testowanego urządzenia. Aby skonfigurować środowisko fizyczne:

  1. Jeśli testowane urządzenie obsługuje Bluetooth LE, umieść co najmniej 3 nadajniki Bluetooth LE w odległości do 5 metrów od testowanego urządzenia, aby przeprowadzić test skanowania Bluetooth LE. Dodatkowo:

    • Beaconów nie trzeba konfigurować ani emitować niczego konkretnego.
    • Mogą to być dowolne beacony, w tym iBeacon, Eddystone, a nawet urządzenia symulujące beacony BLE.
  2. Umieść urządzenie przed sceną, np. ścianą lub sufitem, w odległości odpowiadającej minimalnej odległości ogniskowej urządzenia. Dodatkowo:

    • Scena musi być wystarczająco oświetlona, aby testowane czujniki mogły osiągnąć i utrzymać maksymalną skonfigurowaną docelową liczbę klatek na sekundę (FPS) określoną w CONTROL_AE_TARGET_FPS_RANGE.
    • Ta konfiguracja dotyczy wszystkich czujników kamery zgłoszonych przez getCameraIdList, ponieważ test iteruje po wymienionych urządzeniach i mierzy wydajność każdego z nich z osobna.
    • Jeśli DUT obsługuje kamery zewnętrzne, np. kamery internetowe USB, podczas uruchamiania CTS podłącz kamerę zewnętrzną. W przeciwnym razie testy CTS zakończą się niepowodzeniem.
  3. Jeśli testowane urządzenie obsługuje globalny system pozycjonowania (GPS) lub inny globalny system nawigacji satelitarnej (GNSS), dostarcz do niego sygnał GNSS na odpowiednim poziomie sygnału do odbioru i obliczenia lokalizacji. Dodatkowo:

    • GPS musi być zgodny ze standardem ICD-GPS-200C.
    • Sygnał GNSS może być dowolnego typu, w tym sygnałem z symulatora satelity lub wzmacniacza sygnałów zewnętrznych.
    • Urządzenie możesz umieścić blisko okna, aby mogło bezpośrednio odbierać wystarczająco silny sygnał GNSS z satelity.
  4. Sprawdź, czy sieć Wi-Fi obsługuje IPv4 i IPv6, ma połączenie z internetem z DNS dla IPv4 i IPv6, obsługuje multicast IP i może traktować DUT jako odizolowanego klienta.

    Jeśli nie masz dostępu do natywnej sieci IPv6, sieci operatora IPv6 ani sieci VPN, aby przejść testy IPv6, użyj punktu dostępu Wi-Fi i tunelu IPv6.

  5. Sprawdź, czy na interfejsie Wi-Fi urządzenia DUT ustawione są flagi UP, BROADCASTMULTICAST.

  6. Sprawdź, czy interfejs Wi-Fi ma przypisane adresy IPv4 i IPv6. Aby sprawdzić właściwości interfejsu Wi-Fi, uruchom polecenie adb shell ifconfig.

  7. Jeśli testowane urządzenie obsługuje Wi-Fi STA lub współbieżność STA, skonfiguruj co najmniej 2 sieci Wi-Fi. Te sieci Wi-Fi muszą działać w różnych pasmach z różnymi identyfikatorami SSID lub w tym samym identyfikatorze SSID z różnymi identyfikatorami BSSID.

  8. Jeśli testowane urządzenie obsługuje czas błądzenia Wi-Fi (RTT), skonfiguruj urządzenie, które obsługuje RTT Wi-Fi:

    1. Umieść urządzenie Wi-Fi RTT w odległości nie większej niż 12 metrów od testowanego urządzenia.
    2. Włącz urządzenie Wi-Fi RTT.

    Oto 2 rekomendowane urządzenia obsługujące Wi-Fi RTT: - Google Wifi - Punkt dostępu fitlet2 firmy Compulab (ustawiony na pasmo 40 MHz przy 5 GHz).

Konfigurowanie urządzenia stacjonarnego

Przed uruchomieniem automatycznych testów CTS sprawdź, czy komputer stacjonarny spełnia wymagania sprzętowe i dotyczące systemu operacyjnego oraz czy ma zainstalowane odpowiednie oprogramowanie, jak opisano w kolejnych sekcjach.

Wymagania dotyczące sprzętu do Google Meet

Komputer stacjonarny CTS powinien spełniać te wymagania sprzętowe lub je przekraczać:

  • 64-bitowy system x86

  • Co najmniej 256 GB wolnego miejsca na dysku, aby pomieścić większą liczbę przypadków testowych CTS i większą rezerwację miejsca na stercie Javy w Tradefed.

  • co najmniej 32 GB pamięci RAM;

Spełnianie wymagań dotyczących systemu operacyjnego

  • Na komputerze deweloperskim musi być zainstalowana 64-bitowa dystrybucja Linuksa z biblioteką GNU C (glibc) w wersji 2.17 lub nowszej.

  • Aby CTS mógł prawidłowo rozpoznać ścieżkę, język systemu operacyjnego powinien być ustawiony na „angielski”.

Instalowanie oprogramowania na komputer

Aby zainstalować odpowiednie oprogramowanie na komputery na potrzeby CTS:

  1. Zainstaluj pakiet FFmpeg w wersji 5.1.3 lub nowszej.

  2. Zainstaluj najnowsze wersje Android Debug Bridge (adb)Android Asset Packaging Tool (AAPT2) oraz dodaj lokalizację tych narzędzi do ścieżki systemowej na komputerze:

    1. Wykonaj instrukcje podane na początku dokumentacji Menedżera SDK, aby zainstalować narzędzie wiersza poleceń sdkmanager. Link do pobrania narzędzi wiersza poleceń znajdziesz w sekcji Tylko narzędzia wiersza poleceń u dołu strony pobierania Android Studio.
    2. Zaktualizuj ścieżkę systemową, aby uwzględnić lokalizację nowo zainstalowanego sdkmanager.
    3. Za pomocą sdkmanager zainstaluj najnowsze pakiety platform-toolsbuild-tools. Te pakiety zawierają adb i AAPT2. Informacje o instalowaniu pakietów znajdziesz w artykule Instalowanie pakietów.
    4. Zaktualizuj ścieżkę, aby uwzględnić lokalizację nowo zainstalowanych narzędzi adb i AAPT2.
    5. Sprawdź, czy adb i AAPT2 znajdują się w ścieżce.
  3. Zainstaluj odpowiednią wersję pakietu Java Development Kit (JDK):

  4. Na Androidzie 13 i 14 zainstaluj virtualenv. Narzędzie virtualenv jest wymagane w przypadku testów na wielu urządzeniach.

  5. Aby sprawdzić, czy Python jest zainstalowany, wpisz python3. Powinna się pojawić wersja Pythona i data, co oznacza, że Python jest prawidłowo zainstalowany.

  6. Pobierz i otwórz pakiety CTS z pobranych pakietów CTS, które są zgodne z wersją Androida na Twoich urządzeniach i wszystkimi interfejsami binarnymi aplikacji (ABI) obsługiwanymi przez te urządzenia.

  7. Pobierz i otwórz najnowszą wersję plików multimedialnych CTS. Pliki multimedialne zawierają klipy wideo z filmu Big Buck Bunny, które są chronione prawem autorskim należącym do fundacji Blender Foundation na podstawie licencji Creative Commons Uznanie autorstwa 3.0.

  8. (opcjonalnie) Podczas pierwszego uruchomienia CTS dynamicznie pobiera niektóre pliki CTS związane z Mainline. W zależności od szybkości sieci pobieranie to wydłuża czas działania CTS o 10 minut lub więcej.

    Aby uniknąć tego dodatkowego czasu działania CTS, możesz pobrać pliki CTS związane z Mainline przed uruchomieniem CTS. Informacje o pobieraniu plików CTS związanych z Mainline znajdziesz w artykule Pobieranie plików CTS związanych z Mainline.

Przygotowywanie DUT

Po skonfigurowaniu komputera stacjonarnego musisz skonfigurować urządzenie poddawane testom.

Konfigurowanie DUT

Aby skonfigurować testowane urządzenie:

  1. Sprawdź, czy na testowanym urządzeniu jest zainstalowany obraz systemu oparty na kompilacji użytkownika, która jest znana jako zgodna (Android 4.0 lub nowszy) z naz kodowych, tagów i numerów kompilacji, oraz czy używa ona wariantu kompilacji user. Więcej informacji o wariantach kompilacji znajdziesz w sekcji Wybieranie celu.

  2. Jeśli testowane urządzenie działa na Androidzie 13 lub nowszym, sprawdź, czy kompilacja ma ustawioną wartość ro.product.first_api_level na poziom API, z którym urządzenie zostało wprowadzone na rynek. Aby ustawić tę wartość, wprowadź w pliku device.mk tę zmianę:

    PRODUCT_SHIPPING_API_LEVEL := 21
    

    Niektóre wymagania CTS zależą od kompilacji, z którą urządzenie zostało pierwotnie dostarczone. Na przykład urządzenia, które pierwotnie były dostarczane z wcześniejszymi kompilacjami, mogą być wyłączone z wymagań systemowych, które obowiązują w przypadku urządzeń dostarczanych z późniejszymi kompilacjami. Prawidłowe wartości poziomu interfejsu API znajdziesz na stronie Kryptonimy, tagi i numery kompilacji. Więcej informacji o ro.product.first_api_level znajdziesz w sekcji Poziom interfejsu API dostawcy.

    W przypadku Androida 10 lub starszego zapoznaj się z artykułem Konfigurowanie CTS (AOSP 10 lub starszy).

  3. Jeśli urządzenie obsługuje zarządzanie pakietami APEX:

    1. Pobierz pakiet APEX shim dla konkretnej wersji Androida i architektury sprzętu. Dwie kolumny po lewej stronie tabeli pakietów shim zawierają linki do pakietu, który można pobrać.
    2. Skopiuj pobrany pakiet do folderu /system/apex.
    3. Zmień nazwę pliku na com.android.apex.cts.shim.apex.
  4. Jeśli Twoje urządzenie nie obsługuje zarządzania pakietami APEX:

    1. Pobierz pakiety APEX shim dla konkretnej wersji Androida i architektury sprzętu. Dwie kolumny po prawej stronie tabeli shim packages zawierają linki do pakietów, które można pobrać.
    2. Skopiuj CtsShim.apk do /system/app/
    3. Zmień nazwę CtsShim.apk na CtsShimPrebuilt.apk.
    4. Skopiuj CtsShimPriv.apk do /system/priv-app/
    5. Zmień nazwę CtsShimPriv.apk na CtsShimPrivPrebuilt.apk.
  5. Jeśli urządzenie zgłasza więcej niż 1 element zabezpieczający:

    1. Pobierz google-cardlet.cap.
    2. Skopiuj pobrany plik do folderu /data/uicc/cardlets/.
  6. Jeśli urządzenie zgłasza więcej niż 1 bezpieczny element, zainstaluj przykładowy aplet w osadzonym bezpiecznym elemencie (eSE) DUT lub na karcie SIM używanej przez DUT. Więcej informacji znajdziesz w artykule Test CTS dla Secure Element.

  7. Jeśli urządzenie nie ma wbudowanego ekranu, podłącz do niego ekran.

  8. Jeśli urządzenie ma gniazdo karty pamięci, włóż do niego pustą kartę SD. Użyj karty SD, która obsługuje magistralę o bardzo dużej szybkości (UHS) o pojemności SDHC lub SDXC albo karty o klasie szybkości 10 lub wyższej, aby sprawdzić, czy może przejść test CTS.

  9. Jeśli urządzenie ma gniazda na karty SIM, włóż do każdego z nich aktywowaną kartę SIM. Jeśli urządzenie obsługuje SMS-y, każda karta SIM musi mieć wypełnione pole numeru. W przypadku urządzeń z Androidem 12 lub nowszym wszystkie karty SIM muszą obsługiwać przechowywanie skróconych numerów wybierania (ADN). Wymaganie to spełniają karty GSM i USIM z plikami dedykowanymi do telekomunikacji (DFTelecom).

  10. Sprawdź, czy urządzenie ma kartę SIM z uprawnieniami operatora CTS spełniającą wymagania określone w sekcji Przygotowywanie karty UICC.

Konfigurowanie DUT

Aby skonfigurować urządzenie do testowania do używania z CTS, wykonaj te czynności.

Na DUT:

  1. Przywróć urządzenie do ustawień fabrycznych.

  2. Ustaw język urządzenia na angielski (Stany Zjednoczone).

  3. Jeśli urządzenie obsługuje dostosowywanie domyślnych czcionek, sprawdź, czy domyślna rodzina czcionek sans-serif jest ustawiona na Roboto.

  4. Jeśli urządzenie ma funkcję GPS, Wi-Fi lub sieć komórkową, włącz ustawienie lokalizacji.

  5. Połącz się z siecią Wi-Fi, która obsługuje protokół IPv6, może traktować DUT jako odizolowanego klienta i ma połączenie z internetem. Wyjaśnienie dotyczące odizolowanych klientów znajdziesz w artykule Konfigurowanie środowiska fizycznego.

  6. Sprawdź, czy nie jest ustawiony wzór blokady ani hasło.

  7. Włącz debugowanie USB:

    1. Otwórz Ustawienia > Informacje o telefonie i kliknij Numer kompilacji 7 razy. Opcje programisty pojawią się w kategorii ustawień System.

    2. Kliknij Debugowanie USB.

    Aby włączyć debugowanie USB na Androidzie 10 lub starszym, zapoznaj się z artykułem Konfigurowanie CTS (AOSP 10 lub starszy).

  8. Ustaw czas w formacie 12-godzinnym.

  9. Włącz Opcje programisty > Nie usypiaj.

  10. Wyłącz weryfikację aplikacji przez USB:

    1. Otwórz Opcje programisty.

    2. Kliknij Weryfikuj aplikacje przez USB.

  11. W Androidzie 13 lub nowszym włącz atrapę modemu:

    1. Otwórz Opcje programisty.

    2. Kliknij Zezwól na pozorowanie modemu.

    To ustawienie jest wymagane w przypadku niektórych testów telefonicznych.

Na komputerze:

  1. Uruchom przeglądarkę i zamknij ekran uruchamiania lub konfiguracji.

  2. Podłącz testowane urządzenie do komputera stacjonarnego za pomocą kabla USB.

  3. Jeśli system poprosi Cię o zaakceptowanie klucza RSA umożliwiającego debugowanie na tym komputerze, kliknij Zezwól na debugowanie USB.

  4. Ustaw Roboto2 jako czcionkę bezszeryfową za pomocą ustawienia dostępnego dla użytkownika (nieukrytego).

  5. Skopiuj pliki multimedialne CTS na urządzenie:

    1. Przejdź (cd) do ścieżki, w której pobrano i rozpakowano pliki multimedialne.
    2. Zmień uprawnienia do pliku:

      chmod u+x copy_media.sh
      
    3. Skopiuj pliki:

      • Aby skopiować klipy o rozdzielczości do 720 x 480, uruchom:

        ./copy_media.sh 720x480
      • Jeśli nie masz pewności, jaka jest maksymalna rozdzielczość, skopiuj wszystkie pliki:

        ./copy_media.sh all
      • Jeśli jest wiele urządzeń DUT, dodaj na końcu opcję seryjną (-s) konkretnego urządzenia. Aby na przykład skopiować plik o rozdzielczości do 720x480 na urządzenie o numerze seryjnym 1234567, uruchom to polecenie:

        ./copy_media.sh 720x480 -s 1234567

Pobieranie plików CTS związanych z Mainline

Aby pobrać pliki CTS związane z Mainline:

  1. Aby sprawdzić poziom interfejsu API Androida na urządzeniu, uruchom to polecenie:

    adb shell getprop ro.build.version.sdk
    
  2. Aby pobrać pliki Mainline CTS, postępuj zgodnie z instrukcjami w download_mcts.sh skrypcie.

    Pobieranie trwa co najmniej 10 minut, w zależności od szybkości sieci.

Pakiety shim

W tabeli poniżej znajdziesz listę pakietów dostępnych dla poszczególnych wersji i architektur urządzeń:

Wersja urządzenia Pakiety (jeśli APEX jest obsługiwany) Pakiety (jeśli APEX nie jest obsługiwany)
WŁĄCZ WYKRYWANIE x86 WŁĄCZ WYKRYWANIE x86
Android 16 QPR2 16-arm-release android16-x86-release android16-arm-CtsShim.apk

android16-arm-CtsShimPriv.apk

android16-x86-CtsShim.apk

android16-x86-CtsShimPriv.apk

Android 16 16-arm-release android16-x86-release android16-arm-CtsShim.apk

android16-arm-CtsShimPriv.apk

android16-x86-CtsShim.apk

android16-x86-CtsShimPriv.apk

Android 15 15-arm-release android15-x86-release android15-arm-CtsShim.apk

android15-arm-CtsShimPriv.apk

android15-x86-CtsShim.apk

android15-x86-CtsShimPriv.apk

Android 14 android14-arm-release android14-x86-release android14-arm-CtsShim.apk

android14-arm-CtsShimPriv.apk

android14-x86-CtsShim.apk

android14-x86-CtsShimPriv.apk

Android 13 android13-arm-release android13-x86-release android13-arm-CtsShim.apk

android13-arm-CtsShimPriv.apk

android13-x86-CtsShim.apk

android13-x86-CtsShimPriv.apk

Android 12 android12-arm-release android12-x86-release android12-arm-CtsShim.apk

android12-arm-CtsShimPriv.apk

android12-x86-CtsShim.apk

android12-x86-CtsShimPriv.apk

Android 11 android11-arm-release android11-x86-release android11-arm-CtsShim.apk

android11-arm-CtsShimPriv.apk

android11-x86-CtsShim.apk

android11-x86-CtsShimPriv.apk

Android 10 android10-release android10-arm-CtsShim.apk

android10-arm-CtsShimPriv.apk

android10-x86-CtsShim.apk

android10-x86-CtsShimPriv.apk

Android 9, O i O-MR1 Nie dotyczy Nie dotyczy arm-CtsShim.apk

arm-CtsShimPriv.apk

x86-CtsShim.apk

x86-CtsShimPriv.apk

Co dalej?

Po przeczytaniu tego dokumentu przejdź do sekcji Uruchamianie automatycznych testów CTS.