Zaawansowany przewodnik po ACTS

To jest przewodnik na temat uruchamiania testów Android Comms Test Suite (ACTS) .

Uzyskanie kodu

Najbardziej aktualną wersję ACTS można znaleźć w repozytorium Gerrit Android Open Source Project (AOSP) w /platform/tools/test/connectivity/ .

Aby uzyskać szczegółowe informacje na temat synchronizowania kodu, zobacz Pobieranie źródła i Laboratorium programowania dla programistów Androida . Podczas synchronizacji kodu zsynchronizuj główną gałąź. Nie synchronizuj oznaczonej kompilacji.

Pamiętaj, że podczas pobierania ACTS nie musisz synchronizować całego repozytorium Androida. Aby zsynchronizować tylko ACTS, po uruchomieniu polecenia repo init uruchom:

repo sync platform/tools/test/connectivity

ACTS można znaleźć w <repo>/tools/test/connectivity/acts/ .

Konfiguracja środowiska

Aby upewnić się, że ACTS ma wymagane zależności do instalacji, zainstaluj następujące narzędzia konfiguracyjne Pythona 3:

sudo apt-get install python3-setuptools
sudo apt-get install python3-pip
sudo apt-get install adb fastboot
sudo pip3 install --upgrade pip setuptools
# Needed due to an on-going bug.
sudo apt-get install protobuf-compiler

Instalacja ACTSów

Skrypt setup.py znajdujący się w <repo>/tools/test/connectivity/acts/framework instaluje resztę zależności i sam ACTS.

Aby stale rozwijać program ACTS lub z nim, uruchom następującą komendę:

cd <repo>/tools/test/connectivity/acts/framework/
sudo python3 setup.py develop
cd -

Jeśli chcesz uruchomić tylko testy, zamiast tego uruchom to polecenie:

cd <repo>/tools/test/connectivity/acts/framework/
sudo python3 setup.py install
cd -

Weryfikowanie instalacji

Po instalacji upewnij się, że możesz używać act.py w swoim terminalu i importuj moduły ACTS w Pythonie. Na przykład:

act.py -h
usage: act.py [-h] -c <PATH> [--test_args Arg1 Arg2 ... ]
python3
>>> from acts.controllers import android_device
>>> device_list = android_device.get_all_instances()

Działa bez instalacji

Użytkownicy mogą uruchamiać ACTS bez bezpośredniego instalowania pakietu. Jedynym krokiem, który należy wykonać, jest zmodyfikowanie ścieżki Pythona w celu importu z <repo>/tools/test/connectivity/acts/framework . Przed uruchomieniem ACTS uruchom setup.py install_deps , aby zainstalować wszystkie wymagane zależności przez ACTS bez instalowania ACTS. Jeśli na Twoim komputerze znajduje się istniejąca wersja ACTS, uruchom sudo setup.py uninstall .

Aby uruchomić ACTS, użyj jednego z następujących poleceń:

  • cd <repo>/tools/test/connectivity/acts/framework; acts/bin/act.py
    
  • export PYTHONPATH=<repo>/tools/test/connectivity/acts/framework; acts/bin/act.py
    

ACTS wysyła komunikaty z żądaniem flag -c i -tc . Aby uzyskać więcej informacji, zobacz Konfigurowanie testów ACTS .

Konfigurowanie ACTS w środowisku wirtualnym

Aby odizolować swoją instalację od innych instalacji ACTS, należy zainstalować ACTS w środowisku wirtualnym. Poniższe kroki zakładają, że masz acts_test.zip z aosp-main na ci.android.com lub masz bezpośredni dostęp do źródła.

  1. Zdobądź ACT.

    Publikowane są kompilacje. Aby uzyskać więcej informacji, zobacz Ciągła integracja systemu Android . Możesz pobrać pliki zip z kompilacji na ci.android.com . Poszukaj celu test_suites_x86_64 .

    Plik acts_test.zip znajduje się na karcie Artefakty. Na potrzeby tego przykładu załóżmy, że acts_test.zip został pobrany do /tmp/acts_test.zip .

    Jeśli masz dostęp do kodu źródłowego, możesz go zamiast tego użyć.

  2. Zainstaluj virtualenv na swoim komputerze.

    Jeśli jeszcze go nie masz, możesz zainstalować virtualenv za pomocą:

    python3 -m pip install -U --user virtualenv
    
  3. Utwórz i aktywuj środowisko wirtualne (w tym przykładzie w /tmp/my_virtualenv ). Dzięki temu nowe pakiety zostaną zainstalowane w katalogu virtualenv .

    python3 -m virtualenv /tmp/my_virtualenv
    source /tmp/my_virtualenv/bin/activate
    
  4. Zainstaluj ACT. Uruchom następujące polecenie.

    unzip /tmp/acts_test.zip -d /tmp/my_virtualenv/acts
    cd /tmp/my_virtualenv/acts/tools/test/connectivity/acts/framework/
    python3 setup.py install
    

    Jeśli masz bezpośredni dostęp do kodu, możesz pominąć rozpakowywanie:

    cd /path/to/acts/framework
    python3 setup.py install
    
  5. Uruchamiaj ACTS z dowolnego miejsca.

    act.py -c <config> ...
    
  6. Po zakończeniu przeprowadzania testów opuść środowisko wirtualne.

    deactivate
    

Flashowanie urządzenia z Androidem (opcjonalnie)

Jeśli chcesz uzyskać uprzywilejowaną kontrolę systemu nad urządzeniem, wykonaj flashowanie urządzenia za pomocą kompilacji userdebug .

Aby sflashować urządzenie, użyj narzędzia Android Flash Tool (flash.android.com/) . Więcej szczegółów można znaleźć w dokumentacji narzędzia Android Flash Tool .

Instalacja SL4A (opcjonalna, zalecana)

Jeśli używasz urządzenia z kompilacją userdebug , masz możliwość uzyskania kontroli uprawnień systemowych do swojego urządzenia za pomocą SL4A. Jeśli Twój test nie korzysta z SL4A na urządzeniu, możesz ustawić flagę skip_sl4a w konfiguracji ACTS, aby wyłączyć tę funkcję.

"AndroidDevice": [{"serial": "standardized serial number reference", "skip_sl4a": true}, ...]

Aby uzyskać pakiet APK SL4A, postępuj zgodnie z instrukcjami w Scripting Layer dla Androida .