ACTS-Leitfaden für Fortgeschrittene

In diesem Leitfaden erfahren Sie, wie Sie Tests der Android Comms Test Suite (ACTS) ausführen.

Code abrufen

Die aktuelle Version von ACTS finden Sie im Git-Repository des Android Open Source Project (AOSP) in /platform/tools/test/connectivity/.

Weitere Informationen zum Synchronisieren des Codes findest du unter Quelle herunterladen und im Codelab für Android-Entwickler. Wenn Sie den Code synchronisieren, synchronisieren Sie den Hauptzweig. Synchronisieren Sie keinen getaggten Build.

Beachten Sie, dass Sie beim Herunterladen von ACTS nicht das gesamte Android-Repository synchronisieren müssen. Wenn Sie nur ACTS synchronisieren möchten, führen Sie nach der Ausführung des Befehls repo init Folgendes aus:

repo sync platform/tools/test/connectivity

ACTS finden Sie unter <repo>/tools/test/connectivity/acts/.

Umgebung einrichten

Installieren Sie die folgenden Python 3-Einrichtungstools, damit ACTS die erforderlichen Abhängigkeiten für die Einrichtung hat:

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

ACTS installieren

Das Skript setup.py in <repo>/tools/test/connectivity/acts/framework installiert die übrigen Abhängigkeiten und ACTS selbst.

Führen Sie für eine kontinuierliche Entwicklung mit oder mit ACTS den folgenden Befehl aus:

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

Wenn Sie nur Tests ausführen möchten, führen Sie stattdessen diesen Befehl aus:

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

Installation überprüfen

Prüfen Sie nach der Einrichtung, ob Sie act.py in Ihrem Terminal verwenden und ACTS-Module in Python importieren können. Beispiel:

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()

Ohne Installation ausführen

Nutzer können ACTS ausführen, ohne das Paket direkt zu installieren. Sie müssen lediglich den Python-Pfad für den Import aus <repo>/tools/test/connectivity/acts/framework ändern. Bevor Sie ACTS ausführen, führen Sie setup.py install_deps aus, um alle erforderlichen Abhängigkeiten von ACTS zu installieren, ohne ACTS zu installieren. Wenn sich auf Ihrem Computer eine vorhandene Version von ACTS befindet, führen Sie sudo setup.py uninstall aus.

Verwenden Sie einen der folgenden Befehle, um ACTS auszuführen:

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

ACTS gibt Nachrichten aus, in denen die Flags -c und -tc angefordert werden. Weitere Informationen finden Sie unter ACTS-Tests konfigurieren.

ACTS in einer virtuellen Umgebung einrichten

Wenn Sie Ihre Installation von anderen ACTS-Installationen isolieren möchten, sollten Sie ACTS in einer virtuellen Umgebung installieren. In den folgenden Schritten wird davon ausgegangen, dass Sie acts_test.zip von aosp-main auf ci.android.com haben oder direkten Zugriff auf die Quelle haben.

  1. Hol dir ACTS.

    Builds wurden veröffentlicht. Weitere Informationen finden Sie unter Kontinuierliche Integration in Android. Sie können ZIP-Dateien aus einem Build auf ci.android.com abrufen. Suchen Sie nach dem Ziel test_suites_x86_64.

    Die Datei acts_test.zip befindet sich auf dem Tab „Artefakte“. Für dieses Beispiel wird davon ausgegangen, dass acts_test.zip in /tmp/acts_test.zip heruntergeladen wurde.

    Wenn Sie Zugriff auf den Quellcode haben, können Sie stattdessen diesen verwenden.

  2. Installieren Sie virtualenv auf Ihrem Computer.

    Wenn du virtualenv noch nicht installiert hast, kannst du es so installieren:

    python3 -m pip install -U --user virtualenv
    
  3. Erstellen und aktivieren Sie die virtuelle Umgebung (in diesem Beispiel in /tmp/my_virtualenv). Dadurch wird sichergestellt, dass neue Pakete im Verzeichnis virtualenv installiert werden.

    python3 -m virtualenv /tmp/my_virtualenv
    source /tmp/my_virtualenv/bin/activate
    
  4. Installieren Sie ACTS. Führen Sie den folgenden Befehl aus.

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

    Wenn du direkt auf den Code zugreifen kannst, kannst du das Entpacken überspringen:

    cd /path/to/acts/framework
    python3 setup.py install
    
  5. ACTS von überall aus ausführen.

    act.py -c <config> ...
    
  6. Verlassen Sie die virtuelle Umgebung, wenn Sie die Tests ausgeführt haben.

    deactivate
    

Android-Gerät flashen (optional)

Wenn Sie das Gerät privilegiert vom System steuern möchten, flashen Sie das Gerät mit einem userdebug-Build.

Verwenden Sie zum Flashen des Geräts das Android Flash Tool (flash.android.com/). Weitere Informationen finden Sie in der Dokumentation im Android Flash-Tool.

SL4A installieren (optional, empfohlen)

Wenn Sie ein Gerät mit dem Build userdebug verwenden, haben Sie die Möglichkeit, mit SL4A die Systemberechtigungen für Ihr Gerät zu steuern. Wenn in Ihrem Test SL4A auf dem Gerät nicht verwendet wird, können Sie das Flag skip_sl4a in der ACTS-Konfiguration festlegen, um die Funktion zu deaktivieren.

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

Folge der Anleitung unter Scripting Layer für Android, um das SL4A-APK herunterzuladen.