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
zurepo init
hinzu .
- Wenn die Größe eines Computers beschränkt ist, fügen Sie
- 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
sollteuserdebug
zurückgeben. - Wenn
ro.build.type
nicht verfügbar ist, ermöglicht ein UserDebug-Build die Ausführung des adb-Shell als Root (Terminal#
)
- Der Befehl
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 vonexport 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
installierenDie 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.