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. (opcjonalnie) 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:

    • Nie trzeba konfigurować beaconów ani emitować niczego konkretnego.
    • Mogą to być dowolne beacony, w tym iBeacon, Eddystone, a nawet urządzenia symulujące beacony BLE.
  2. Umieść telefon 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 testowane urządzenie obsługuje kamery zewnętrzne, np. kamery internetowe USB, podczas przeprowadzania testów CTS podłącz kamerę zewnętrzną. W przeciwnym razie testy CTS zakończą się niepowodzeniem.
  3. (opcjonalnie) 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 obliczania 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. Upewnij się, że sieć Wi-Fi obsługuje protokoły IPv4 i IPv6, ma połączenie z internetem z DNS dla IPv4 i IPv6, obsługuje multicast IP i może traktować DUT jako izolowanego 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. Upewnij się, że na interfejsie Wi-Fi urządzenia DUT ustawione są flagi UP, BROADCAST i MULTICAST.

  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. (opcjonalnie) Jeśli testowane urządzenie obsługuje jednoczesne działanie Wi-Fi STA lub 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. (opcjonalnie) 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 DUT.
    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

Zanim uruchomisz automatyczne testy CTS, upewnij się, że komputer stacjonarny spełnia wymagania sprzętowe i dotyczące systemu operacyjnego oraz ma zainstalowane odpowiednie oprogramowanie, zgodnie z opisem 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 zwiększoną 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 Library (glibc) w wersji 2.17 lub nowszej.

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

Instalowanie oprogramowania na komputerze

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. Aby zainstalować narzędzie wiersza poleceń sdkmanager, postępuj zgodnie z instrukcjami na początku dokumentacji Menedżera SDK. 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ą narzędzia 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ę Java Development Kit (JDK):

  4. (opcjonalnie) W przypadku Androida 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 pobieralni pakietu 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 Blender Foundation na podstawie licencji Creative Commons Uznanie autorstwa 3.0.

  8. (opcjonalnie) Gdy uruchamiasz CTS po raz pierwszy, dynamicznie pobiera on niektóre pliki CTS związane z Mainline. W zależności od szybkości sieci pobieranie może wydłużyć czas działania CTS o 10 minut lub więcej.

    Aby uniknąć tego dodatkowego czasu działania CTS, przed uruchomieniem CTS możesz pobrać pliki CTS związane z Mainline. 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 testowanego urządzenia

Aby skonfigurować testowane urządzenie:

  1. Upewnij się, że 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 nazwami kodowymi, tagami i numerami kompilacji, i że używa ona wariantu kompilacji user. Więcej informacji o wariantach kompilacji znajdziesz w sekcji Wybieranie celu.

  2. Jeśli DUT działa na Androidzie 13 lub nowszym, upewnij się, że kompilacja ma ustawioną wartość ro.product.first_api_level na poziomie 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 wersjami, mogą być wyłączone z wymagań systemowych, które dotyczą urządzeń dostarczanych z późniejszymi wersjami. 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 do pobrania.
    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 /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żywaj karty SD obsługującej magistralę UHS (Ultra High Speed) o pojemności SDHC lub SDXC albo karty o klasie szybkości 10 lub wyższej, aby mieć pewność, że przejdzie ona 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 plikiem dedykowanym do telekomunikacji (DFTelecom).

  10. Upewnij się, że urządzenie ma kartę SIM z uprawnieniami operatora CTS spełniającą wymagania określone w sekcji Przygotowywanie karty UICC.

Konfigurowanie urządzenia

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

Na urządzeniu:

  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, upewnij się, że domyślna rodzina czcionek bezszeryfowych jest ustawiona na Roboto.

  4. Jeśli urządzenie ma GPS lub funkcję Wi-Fi albo 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. Upewnij się, że nie ustawiono wzoru ani hasła blokady.

  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 modem testowy:

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