Zaawansowany przewodnik po programach ACTS

Z tego przewodnika dowiesz się, jak przeprowadzać testy pakietu Android Comms Test Suite (ACTS).

Pobierz kod

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

Szczegółowe informacje o synchronizowaniu kodu znajdziesz w materiałach na temat pobierania źródła i ćwiczeń z programowania dla programistów aplikacji na Androida. Synchronizując kod, zsynchronizuj gałąź główną. Nie synchronizuj otagowanej kompilacji.

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

repo sync platform/tools/test/connectivity

Informacje o działaniach dotyczących działań (ACTS) znajdziesz tutaj: <repo>/tools/test/connectivity/acts/.

Konfiguracja środowiska

Aby mieć pewność, że ACTS ma zależności wymagane do konfiguracji, zainstaluj te narzędzia do konfiguracji w Pythonie 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

Zainstaluj ACTS

Skrypt setup.py znaleziony w pliku <repo>/tools/test/connectivity/acts/framework instaluje pozostałe zależności i aktualne działania.

Aby zapewnić ciągłe programowanie w usłudze ACTS lub z nią, uruchom to polecenie:

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

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

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

Sprawdź instalację

Po zakończeniu konfiguracji sprawdź, czy możesz używać act.py w terminalu i zaimportuj moduły ATS 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()

Uruchom bez instalacji

Użytkownicy mogą uruchamiać ACTS bez bezpośredniego instalowania pakietu. Jedynym krokiem, który trzeba wykonać, jest zmodyfikowanie ścieżki Pythona na potrzeby importu z instancji <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 komputerze znajduje się istniejąca wersja ACTS, uruchom polecenie sudo setup.py uninstall.

Aby uruchomić ACTS, użyj jednego z tych 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 generuje komunikaty z żądaniem flag -c i -tc. Więcej informacji znajdziesz w artykule o konfigurowaniu testów ACTS.

Konfigurowanie ACTS w środowisku wirtualnym

Aby odizolować instalację od innych instalacji ACTS, zainstaluj ACTS w środowisku wirtualnym. W poniższych krokach przyjęto, że masz usługę acts_test.zip z usługi aosp-main na stronie ci.android.com lub masz bezpośredni dostęp do źródła.

  1. Zacznij korzystać z ACTS.

    Kompilacje zostały opublikowane. Więcej informacji znajdziesz w artykule o ciągłej integracji Androida. Możesz pobrać pliki ZIP z kompilacji na stronie ci.android.com. Znajdź środowisko docelowe test_suites_x86_64.

    Plik acts_test.zip jest na karcie Artefakty. W tym przykładzie załóżmy, że aplikacja acts_test.zip została pobrana do /tmp/acts_test.zip.

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

  2. Zainstaluj na komputerze aplikację virtualenv.

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

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

    python3 -m virtualenv /tmp/my_virtualenv
    source /tmp/my_virtualenv/bin/activate
    
  4. Zainstaluj ACTS. Uruchom to 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ąć jego rozpakowywanie:

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

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

    deactivate
    

Flash urządzenia z Androidem (opcjonalnie)

Jeśli chcesz uzyskać uprzywilejowaną kontrolę systemu na urządzeniu, zainstaluj na nim kompilację userdebug.

Aby załadować urządzenie, użyj narzędzia Android Flash (flash.android.com/). Więcej informacji znajdziesz w dokumentacji narzędzia Android Flash Tool.

Zainstaluj SL4A (opcjonalnie, zalecane)

Jeśli używasz urządzenia z kompilacją userdebug, możesz za pomocą SL4A uzyskać kontrolę uprawnień systemu. Jeśli test nie używa 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 pobrać plik APK SL4A, wykonaj instrukcje opisane w artykule Warstwa skryptów na Androida.