5G Testi

Android 11 veya üstünü çalıştıran cihazlar için Android İletişim Test Paketi (ACTS) , tek ve çoklu cihaz ortamlarına yönelik temel 5G NSA kullanım örneklerini destekler. Bu sayfa, ACTS'nin bir cihazın 5G NSA ağına bağlanmasını nasıl algıladığını ve güvence altına aldığını kapsar ve size test yolu yapısına ilişkin bir genel bakış sunar

Tespit etme

Android 11'den itibaren Android çerçevesi, 5G'yi tespit etmek için API'ler içerir. Daha fazla ayrıntı için bkz. 5G algılama .

Android için Komut Dosyası Katmanı (SL4A), PhoneStateListener LISTEN_DISPLAY_INFO_CHANGED olaylarını dinleyerek ve onDisplayInfoChanged() yöntemini geçersiz kılarak 5G algılamayı destekler. SL4A, 5G için NSA (bağımsız olmayan), mmWave (milimetre dalga) ve SA (bağımsız) bağlantı türlerini ayırt etmek için aşağıdaki değerleri kullanır:

Bağlantı türü Değerler
5G NSA TelephonyManager.getDataNetworkType() = LTE

TelephonyDisplayInfo.getNetworkType() = LTE

TelephonyDisplayInfo.getOverrideNetworkType() = NR_NSA

5G mmDalga TelephonyDisplayInfo.getOverrideNetworkType() = NR_MMWAVE
5G SA TelephonyManager.getDataNetworkType() = NR

TelephonyDisplayInfo.getNetworkType() = NR

ACTS testleri, cihazın 5G NSA ağına bağlı olduğundan emin olmak için is_current_network_5g_nsa() yöntemini kullanır

Test yolları ve test yapısı

ACTS'deki tüm telefon testleri (1400+) tel dizininin bir parçasıdır. 5G testleri tools/test/connectivity/acts\_tests/tests/google/nr/ dizininde bulunur (nr, yeni radyo anlamına gelir). 5G radyo erişim teknolojisinin (RAT) kullanıma sunulmasıyla birlikte 5G testleri, ACTS testlerinin ölçeklenebilir ve bağımsız olmasını sağlamak amacıyla canlı ağ ortamları için 4G, 3G, 2G ve 1x'ten ayrılıyor.

Aşağıda 5G testleri için test sınıfları açıklanmaktadır.

  • Nsa5gActivationTest : Tek bir cihazın çeşitli durumlardan 5G NSA'ya doğru şekilde bağlanıp bağlanmadığını doğrular.

    test_5g_nsa_activation_from_apm test_5g_nsa_activation_from_reboot
    test_5g_nsa_activation_from_3g
    
  • Nsa5gVoiceTest : Birden fazla cihaz arasındaki sesli arama işlevini doğrular.

    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 : Tarama, veri duraklaması ve ölçülülük gibi veri işlevlerini doğrular.

    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 : Birden fazla cihaz arasında SMS mesajlarının gönderilip alındığını doğrular.

    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 : Birden fazla cihaz arasında MMS mesajı gönderip almayı doğrular.

    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 : 5G NSA'ya bağlı bir cihaz üzerinden Wi-Fi bağlantısını doğrular.

    test_5g_nsa_tethering_to_5gwifi test_5g_nsa_tethering_to_2gwifi
    

Örnek test çıktısı

Bir cihazın 5G NSA'da olduğunu doğrulamak için test_run_info.txt dosyasında aşağıdaki günlük mesajlarını kontrol edin.

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]

Sorun giderme

Başarısızlık sırasında ACTS testi çalıştırmadan API yanıtını önceliklendirmek için aşağıdaki komutları kullanın:

>> 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}