5G testi

Android 11 veya sonraki sürümleri çalıştıran cihazlarda Android Comms Test Suite (ACTS), tek ve çok cihazlı ortamlar için temel 5G NSA kullanım alanlarını destekler. Bu sayfada, ACTS'nin bir cihazın 5G NSA ağına bağlı olup olmadığını nasıl algıladığı ve test yolunun yapısına genel bir bakış sunulur.

Algılama

Android 11'den itibaren Android çerçevesi, 5G'yi algılamak için API'ler içerir. Daha fazla bilgi için 5G algılama sayfasını inceleyin.

Android İçin Komut Dosyası Katmanı (SL4A), PhoneStateListener kaynağındaki LISTEN_DISPLAY_INFO_CHANGED etkinliklerini dinleyip onDisplayInfoChanged() yöntemini geçersiz kılarak 5G algılamasını destekler. SL4A, 5G için NSA (bağımsız olmayan), milimetre dalga (milimetre dalga) ve SA (bağımsız) bağlantı türlerini birbirinden 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 milimetre dalga TelephonyDisplayInfo.getOverrideNetworkType() = NR_MMWAVE
5G/A TelephonyManager.getDataNetworkType() = NR

TelephonyDisplayInfo.getNetworkType() = NR

ACTS testleri, cihazın bir 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'den fazla) tel dizininde yer alır. 5G testleri tools/test/connectivity/acts\_tests/tests/google/nr/ dizininde bulunur (nr, yeni radyo anlamına gelir). 5G radyo erişimi teknolojisinin (RAT) kullanıma sunulmasıyla birlikte ACTS testlerinin ölçeklenebilir ve bağımsız olmasını sağlamak amacıyla 5G testleri, canlı ağ ortamları için 4G, 3G, 2G ve 1x’ten ayrıdır.

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ında 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: Göz atma, veri istasyonu ve ölçüm 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 mesajı gönderip almayı 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 çok 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 kablosuz tethering'i doğrular.

    test_5g_nsa_tethering_to_5gwifi test_5g_nsa_tethering_to_2gwifi
    

Örnek test çıkışı

Bir cihazın 5G NSA'de olduğunu onaylamak için test_run_info.txt uygulaması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

Hata sırasında ACTS testi çalıştırmadan API yanıtının önceliğini belirlemek 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}