ACTS-Telefonietests

Die Android Comms Test Suite (TATS) automatische Tests von Konnektivitäts-Stacks wie WLAN, Bluetooth und Mobilfunkdienste. Das Test-Tool erfordert adb und Python. Die befindet sich unter tools/test/connectivity/acts.

Auf dieser Seite wird beschrieben, wie Sie die grundlegenden Telefonietests ausführen, die verfügbar sind in Open-Source-Projekt von Android (AOSP) für Nutzer mit zwei Mobiltelefonen.

Voraussetzungen

Zum Ausführen von ACTS-Telefonietests benötigen Sie Zugriff auf ein vollständiges Android-Repository und installieren Sie UserDebug-Builds auf den Geräten, die Sie testen möchten.

Android-Repository herunterladen

Folgen Sie dazu der Anleitung unter Laden Sie die Quelle herunter, Android-Repository auf einen Computer herunterladen, der eine USB-Verbindung zum die Sie testen möchten.

  • AOSP ist eine Codebasis mit mehreren Gigabyte, die weiter wächst. Anpassen der Downloadzeiten entsprechend zu planen.
    • Wenn die Größe eines Computers beschränkt ist, fügen Sie --depth=1 zu repo init hinzu .
  • Rufen Sie das Android-Stammverzeichnis auf, um zukünftige Updates zu ACTS-Tools zu erhalten: <ph type="x-smartling-placeholder">
      </ph>
    • repo sync tools/test/connectivity verwenden
    • und repo sync external/sl4a

Fehlerbehebungs-Builds von Nutzern auf Geräten prüfen

Installieren Sie eine Debug-Version von Android auf Ihren Testgeräten.

  • Erstellen Sie das Repository mithilfe der Anweisungen in Android erstellen
  • Lassen Sie das Gerät wie unter ein Flash-Gerät laden.
    • Der Befehl adb shell getprop ro.build.type sollte userdebug zurückgeben.
    • Wenn ro.build.type nicht verfügbar ist, ermöglicht ein UserDebug-Build die Ausführung des adb-Shell als Root (Terminal #)

SL4A erstellen und installieren

Um Scripting Layer For Android (SL4A) zu erstellen und zu installieren, folgen Sie der Anleitung in der Scripting-Ebene für Android-Geräte Der Abschnitt SL4A-Builds standardmäßig zu Android-Builds hinzufügen ist optional.

Nach der Erstellung von SLA4 enthält die letzte Lognachricht den Speicherort der sl4a.apk-Datei, die du auf ALLEN Geräten installieren musst. Hier ist ein Beispiel für eine Lognachricht:

Copy: out/target/path/to/sl4a.apk

Zu testende Geräte konfigurieren

Konfigurieren Sie die Geräte gemäß den folgenden ACTS-Build-/Tool-Anforderungen:

  • Wenn keine ADB-Anbieterschlüssel verfügbar sind, tippen Sie auf das Pop-up-Fenster Diesen Computer als vertrauenswürdig einstufen. wenn er auftaucht. Wenn ADB-Anbieterschlüssel verfügbar sind:

    • ADB-Anbieterschlüssel und -Treiber müssen für den DUT eindeutig sein.
    • Damit das USB-Debugging immer aktiviert wird, müssen die ADB-Anbieterschlüssel in Ihrer Quellstruktur muss ~/.bashrc (oder Äquivalent) hinzugefügt werden mithilfe von export ADB_VENDOR_KEYS=/path/to/directory/with/vendor/keys Dabei ist /path/to/directory Ihr voll qualifizierter Pfad im Host. Informationen zur Fehlerbehebung bei ADB finden Sie unter Apps auf einem Hardwaregerät ausführen
  • USB-Debugging zulassen: Wenn ADB-Treiber installiert sind, können ADB-Geräte ausgelöst werden. Aufforderung auf dem Gerät, USB-Debugging zuzulassen.

  • sl4a.apk mit $ adb install -r <ANDROID_ROOT>/path/to/sl4a.apk installieren

  • Die Smartphones müssen eine USB 2.0-Verbindung zum Testserver verwenden.

  • Diese Tests sind von Live-Mobilfunknetzen abhängig. Legen Sie daher SIM-Karten in die Smartphones und Platzieren Sie die Smartphones in einem Bereich mit guter Mobilfunkverbindung.

  • Legen Sie alle SIM-Karten wie unter Konfigurationsdatei schreiben

Umgebung einrichten

Prüfen Sie vor dem Einrichten der Umgebung, ob Python 3.4+ installiert sind.

Führen Sie Folgendes aus:

sudo apt-get install python3-setuptools
sudo apt-get install python3-pip
sudo pip3 install --upgrade pip setuptools
sudo apt-get install protobuf-compiler

ACTS installieren

Führen Sie Folgendes aus:

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

Um die Installation zu prüfen, führen Sie act.py -h aus. Dadurch wird eine Liste der verfügbaren .

Konfigurationsdatei schreiben

Zum Ausführen von Tests müssen Sie eine Datei mit Konfigurationsinformationen erstellen. Hier ist ein Beispieldatei .config. Eine ähnliche Datei ist im Android-Repository verfügbar. unter tools/test/connectivity/acts/framework/sample_config.json. Ersetzen XXXXXXX durch die Seriennummern der Geräte, um die Mindestinformationen zur Verfügung zu stellen, die ACTS muss einen Telefonietest durchführen.

{
  "_description": "Minimum Telephony Config",
  "testbed":
  [
      {
          "_description": "A testbed listing two AndroidDevices for adb.",
          "name": "ExampleTestBed",
          "AndroidDevice": [{"serial": "XXXXXXX", "adb_logcat_param": "-b all"},
                            {"serial": "XXXXXXX", "adb_logcat_param": "-b all"}]
      }
  ],
  "logpath": "/path/to/logs",
  "testpaths": "/path/to/android/repo/tools/test/connectivity",
  "sim_conf_file": "/path/to/simcard_list.json"
}

Verwenden Sie die Schlüssel in der Tabelle, um die Testparameter zu konfigurieren. Weitere Informationen finden Sie unter Weitere Konfigurationsoptionen Optionen.

Schlüssel Wert
_description Inhalt der gesamten Konfigurationsdatei kommentieren
testbed Spezifikation einer Umgebung, in der Tests ausgeführt werden können
(getestet) _description Kommentieren Sie die einzelnen Prüfbereiche, da ACTS auf einzelne Testbedien ausgerichtet werden kann.
(getestet) name Name des testbed-Moduls zum Aufrufen über die Befehlszeile
(getestet) AndroidDevice Liste bestimmter Geräte, auf die der Test ausgerichtet ist
Hinweis:Hier können mehrere Geräte aufgeführt sein. Ein Test, der ausgeführt wird andere Smartphones erwarten, dass es zwei Geräte gibt, und schlägt fehl, wenn sind weniger. Wenn zwei Geräte aufgeführt sind und der Test nur eines erwartet, wird der Test auf dem ersten Gerät ausgeführt.
(testbed)(Android-Gerät) serial Seriennummer des Geräts (ausgedruckt auf adb devices)
(testbed)(Android-Gerät) adb_logcat_param Parameter, die übergeben werden, wenn adb logcat während Testen
logpath Den Speicherort der Protokolle auf dem Testserver
testpaths Speicherort des Testlaufcodes
sim_conf_file Der Speicherort der Datei „.json“, in der die verfügbaren SIM-Karten aufgeführt sind Karten
Die Liste der SIM-Karten enthält die ID der Karte, die Funktionen der Karte, und die Telefonnummer.
{
    "sim-card-ID-here": {
        "capability": [
            "voice",
            "ims",
            "volte",
            "vt",
            "sms",
            "tethering",
            "data"
        ],
        "operator": "tmo",
        "phone_num": "12345678901"
    },
...
}

Sie können die Telefonnummer unter System > Über das Telefon Die SIM-Karten-ID finden Sie in der Regel auf der SIM-Karte das Gerät unter System > Über das Telefon > SIM-Status. Der Operatorstring lautet definiert am tools/test/connectivity/acts_tests/acts_contrib/test_utils/tel/tel_defines.py, Suchen Sie dann nach CARRIER_.

Zusätzliche Konfigurationsoptionen

Die Datei entries.py befindet sich unter tools/test/connectivity/acts/framework/acts/config/entries.py bei Android Das Repository enthält Definitionen für die wichtigsten Konfigurationsoptionen für die Befehlszeile.

Sie können testspezifische Parameter auch im Code finden, indem Sie nach self.user_params.get

Tests ausführen

Führen Sie Tests über die Befehlszeile aus, nachdem die Konfigurationsdatei geschrieben wurde. Während ich dort gibt es viele Optionen. Am einfachsten ist die Verwendung von -c filename.config -tc TestCase:name. In diesem Beispiel wird eine Konfigurationsdatei mit dem Namen minimum.config:

act.py -c minimum.config -tc TelLiveVoiceTest:test_call_mo_voice_general

Bei einem erfolgreichen Test sollte die endgültige Ausgabemeldung in etwa so aussehen:

INFO Summary for test run ExampleTestBed@yyyy-mm-dd_15-23-43-614: Requested 1,
Executed 1, Passed 1, Failed 0, Skipped 0, Error 0

Mehrere Tests ausführen

Wenn du bestimmte Testläufe für mehrere Dateien ausführen möchtest, musst du eine Testdatei erstellen und übergeben mit dem Flag -tf , wie in der Beispiel-Regressionstest-Suite gezeigt:

TelLiveVoiceTest:
test_call_mo_voice_general,
test_call_volte_to_volte,
test_call_3g_to_3g

TelLiveDataTest:
test_airplane_mode,
test_4g,
test_3g

TelLiveSmsTest:
test_sms_mo_4g,
test_sms_mt_4g,
test_sms_mo_3g,
test_sms_mt_3g,
test_mms_mo_4g,
test_mms_mt_4g

Bei diesem Beispielbefehl wird davon ausgegangen, dass die Datei regression_suite. heißt.

act.py -c minimum.config -tf regression_suite

Tests mehrmals ausführen

Wenn Sie einen Testlauf (-tc) oder eine Testdatei (-tf) mehrmals ausführen möchten, fügen Sie dem Befehl -ti # (Testiterationen) hinzu.