Pour les appareils équipés d'Android 11 ou version ultérieure, Android Comms Test Suite (ACTS) prend en charge les principaux cas d'utilisation de la 5G NSA dans les environnements mono et multi-appareils. Cette page explique comment le système ACTS détecte et s'assure qu'un appareil est connecté à un réseau NSA 5G, et présente la structure des chemins de test.
Détection
À partir d'Android 11, le framework Android inclut des API permettant de détecter la 5G. Pour en savoir plus, consultez la section Détection de la 5G.
La couche de script pour Android (SL4A) prend en charge la détection de la 5G en écoutant les événements LISTEN_DISPLAY_INFO_CHANGED
de PhoneStateListener
et en ignorant la méthode onDisplayInfoChanged()
. SL4A utilise les valeurs suivantes pour distinguer les types de connexions NSA (non autonomes), mmWave (ondes millimétriques) et SA (autonomes) pour la 5G:
Type de connexion | Valeurs |
---|---|
NSA 5G | TelephonyManager.getDataNetworkType() = LTE |
5G mmWave | TelephonyDisplayInfo.getOverrideNetworkType() = NR_MMWAVE |
5G SA | TelephonyManager.getDataNetworkType() = NR |
Les tests ACTS utilisent la méthode is_current_network_5g_nsa()
pour s'assurer que l'appareil est connecté à un réseau NSA 5G
Chemins et structure des tests
Tous les tests de téléphonie (plus de 1 400) dans ACTS font partie du répertoire tel
.
Les tests 5G se trouvent dans le répertoire tools/test/connectivity/acts\_tests/tests/google/nr/
(nr signifie new radio). Avec l'introduction de la technologie d'accès radio 5G (RAT), les tests 5G sont distincts des tests 4G, 3G, 2G et 1x pour les environnements réseau en direct afin de permettre aux tests ACTS d'être évolutifs et indépendants.
Vous trouverez ci-dessous la description des classes de test pour les tests 5G.
Nsa5gActivationTest
: vérifie si un appareil unique se connecte correctement à la 5G NSA à partir de différents états.test_5g_nsa_activation_from_apm test_5g_nsa_activation_from_reboot test_5g_nsa_activation_from_3g
Nsa5gVoiceTest
: vérifie la fonctionnalité d'appel vocal entre plusieurs appareils.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
: vérifie le fonctionnement des données telles que la navigation, le blocage des données et la mesure à l'usage.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
: vérifie l'envoi et la réception de SMS entre plusieurs appareils.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
: vérifie l'envoi et la réception de MMS entre plusieurs appareils.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
: vérifie le partage de connexion Wi-Fi sur un appareil connecté au réseau NSA 5G.test_5g_nsa_tethering_to_5gwifi test_5g_nsa_tethering_to_2gwifi
Exemple de résultat du test
Pour vérifier qu'un appareil est sur la NSA 5G, recherchez les messages de journal suivants dans test_run_info.txt
.
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]
Dépannage
Pour trier la réponse de l'API sans exécuter de test ACTS en cas d'échec, utilisez les commandes suivantes:
>> 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}