W przypadku urządzeń z Androidem 11 lub nowszym pakiet Android Comms Test Suite (ACTS) obsługuje podstawowe przypadki użycia 5G NSA w środowiskach 1 i wielu urządzeń. Na tej stronie opisujemy, jak ACTS wykrywa połączenie urządzenia z siecią NSA 5G i zapewnia jego połączenie z siecią 5G, a także omawia strukturę ścieżki testowej.
Wykrywanie
Od Androida 11 platforma Androida zawiera interfejsy API do wykrywania 5G. Więcej informacji znajdziesz w artykule Wykrywanie sieci 5G.
Warstwa skryptów na Androida (SL4A) obsługuje wykrywanie sieci 5G przez nasłuchiwanie zdarzeń LISTEN_DISPLAY_INFO_CHANGED
z PhoneStateListener
i zastępowanie metody onDisplayInfoChanged()
. SL4A używa poniższych wartości do rozróżniania typów połączeń NSA (niesamodzielnych), mmWave (fale milimetrowe) i SA (samodzielnych) w przypadku 5G:
Typ połączenia | Wartości |
---|---|
5G NSA | TelephonyManager.getDataNetworkType() = LTE |
5G mmWave | TelephonyDisplayInfo.getOverrideNetworkType() = NR_MMWAVE |
5G SA | TelephonyManager.getDataNetworkType() = NR |
Testy ACTS wykorzystują metodę is_current_network_5g_nsa()
, aby zapewnić połączenie urządzenia z siecią 5G NSA
Ścieżki testowe i struktura testów
Wszystkie testy połączeń telefonicznych (ponad 1400) w ACTS znajdują się w katalogu tel
.
Testy 5G znajdują się w katalogu tools/test/connectivity/acts\_tests/tests/google/nr/
(nr oznacza „nowe radio”). Dzięki wprowadzeniu technologii dostępu radiowego 5G (RAT) testy 5G różnią się od testów 4G, 3G, 2G i 1x w aktywnych środowiskach sieciowych, co pozwala na skalowalność i niezależne testy ACTS.
Poniżej opisujemy klasy testów 5G.
Nsa5gActivationTest
: sprawdza, czy pojedyncze urządzenie prawidłowo łączy się z NSA 5G w różnych stanach.test_5g_nsa_activation_from_apm test_5g_nsa_activation_from_reboot test_5g_nsa_activation_from_3g
Nsa5gVoiceTest
: weryfikuje funkcje połączeń głosowych na kilku urządzeniach.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
: weryfikuje funkcje związane z danymi, takie jak przeglądanie, przechowywanie danych czy pomiar pomiaru.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
: Weryfikuje wysyłanie i odbieranie SMS-ów między wieloma urządzeniami.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
: weryfikuje wysyłanie i odbieranie MMS-ów między wieloma urządzeniami.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
: weryfikuje tethering przez Wi-Fi na urządzeniu połączonym z siecią 5G NSA.test_5g_nsa_tethering_to_5gwifi test_5g_nsa_tethering_to_2gwifi
Przykładowe wyniki testu
Aby potwierdzić, że urządzenie korzysta z sieci 5G NSA, sprawdź w usłudze test_run_info.txt
te komunikaty logu.
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]
Rozwiązywanie problemów
Aby sklasyfikować odpowiedź interfejsu API bez uruchamiania testu ACTS w przypadku awarii, użyj tych poleceń:
>> 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}