Für Geräte mit Android 11 oder höher unterstützt die Android Comms Test Suite (ACTS) zentrale 5G-NSA- Anwendungsfälle für Umgebungen mit einem oder mehreren Geräten. Auf dieser Seite wird erläutert, wie ACTS erkennt und sicherstellt, dass ein Gerät mit einem 5G-NSA-Netzwerk verbunden ist. Außerdem erhalten Sie einen Überblick über die Testpfadstruktur
Erkennung
Ab Android 11 umfasst das Android-Framework APIs zur Erkennung von 5G. Weitere Einzelheiten finden Sie unter 5G-Erkennung .
Scripting Layer für Android (SL4A) unterstützt die 5G-Erkennung, indem es auf LISTEN_DISPLAY_INFO_CHANGED
Ereignisse von PhoneStateListener
lauscht und die Methode onDisplayInfoChanged()
überschreibt. SL4A verwendet die folgenden Werte, um zwischen den Verbindungstypen NSA (nicht eigenständig), mmWave (Millimeterwelle) und SA (eigenständig) für 5G zu unterscheiden:
Verbindungstyp | Werte |
---|---|
5G-NSA | TelephonyManager.getDataNetworkType() = LTE |
5G mmWave | TelephonyDisplayInfo.getOverrideNetworkType() = NR_MMWAVE |
5G SA | TelephonyManager.getDataNetworkType() = NR |
ACTS-Tests verwenden die Methode is_current_network_5g_nsa()
, um sicherzustellen, dass das Gerät mit einem 5G-NSA-Netzwerk verbunden ist
Testpfade und Teststruktur
Alle Telefontests (1400+) in ACTS sind Teil des tel
Verzeichnisses . 5G-Tests befinden sich im Verzeichnis tools/test/connectivity/acts\_tests/tests/google/nr/
(nr steht für New Radio). Mit der Einführung der 5G-Radio-Access-Technologie (RAT) sind 5G-Tests für Live-Netzwerkumgebungen von 4G, 3G, 2G und 1x getrennt, um ACTS-Tests skalierbar und unabhängig zu machen.
Im Folgenden werden Testklassen für 5G-Tests beschrieben.
Nsa5gActivationTest
: Überprüft, ob ein einzelnes Gerät aus verschiedenen Staaten korrekt eine Verbindung zu 5G NSA herstellt.test_5g_nsa_activation_from_apm test_5g_nsa_activation_from_reboot test_5g_nsa_activation_from_3g
Nsa5gVoiceTest
: Überprüft die Sprachanruffunktionalität zwischen mehreren Geräten.test_5g_nsa_call_volte_to_volte test_5g_nsa_call_volte_to_3g test_5g_nsa_call_volte_mo_hold_unhold test_5g_nsa_call_mo_volte_in_active_data_transfer test_5g_nsa_volte_in_call_wifi_toggling
Nsa5gDataTest
: Überprüft die Datenfunktionalität wie Browsing, Datenstau und Messung.test_5g_nsa_data_browsing test_5g_nsa_data_stall_recovery test_5g_nsa_metered_cellular test_5g_nsa_metered_airplane test_5g_nsa_metered_wifi
Nsa5gSmsTest
: Überprüft das Senden und Empfangen von SMS-Nachrichten zwischen mehreren Geräten.test_5g_nsa_sms_mo_mt test_5g_nsa_sms_mo_mt_volte test_5g_nsa_sms_mo_mt_in_call_volte test_5g_nsa_sms_mo_mt_iwlan test_5g_nsa_sms_mo_mt_in_call_iwlan
Nsa5gMmsTest
: Überprüft das Senden und Empfangen von MMS-Nachrichten zwischen mehreren Geräten.test_5g_nsa_mms_mo_mt test_5g_nsa_mms_mo_mt_in_call_volte test_5g_nsa_mms_mo_mt_iwlan_apm_off test_5g_nsa_mms_mo_mt_in_call_iwlan test_5g_nsa_mms_mo_mt_in_call_volte_wifi
Nsa5gTetheringTest
: Überprüft Wi-Fi-Tethering über ein mit 5G NSA verbundenes Gerät.test_5g_nsa_tethering_to_5gwifi test_5g_nsa_tethering_to_2gwifi
Beispieltestausgabe
Um zu bestätigen, dass ein Gerät 5G NSA nutzt, prüfen Sie, ob in test_run_info.txt
die folgenden Protokollmeldungen vorliegen.
INFO [AndroidDevice|<SERIAL_ID>] Current ModePref for Sub 2 is in
NETWORK_MODE_NR_LTE_GSM_WCDMA [tel_test_utils.py:set_preferred_network_mode_pref:7634]
INFO [AndroidDevice|<SERIAL_ID>] Got expected event {'name': 'DisplayInfoChanged',
'data': {'override': 'NR_NSA', 'network': 'LTE', 'subscriptionId': 2147483647},
'time': 1611094526689} [tel_5g_utils.py:is_current_network_5g_nsa:58]
Fehlerbehebung
Um die API-Antwort zu triagieren, ohne einen ACTS-Test während eines Fehlers auszuführen, verwenden Sie die folgenden Befehle:
>> python3
>> from acts.controllers.android_device import AndroidDevice; ad = AndroidDevice('<SERIAL_ID>'); a, b = ad.get_droid()
>> a.telephonyStartTrackingDisplayInfoChange()
>> b.start()
>> b.wait_for_event("DisplayInfoChanged", lambda _: True, timeout=30)
{'name': 'DisplayInfoChanged', 'data': 'TelephonyDisplayInfo {network=LTE, override=LTE_CA, 'time': 1586483596907}