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 |
5G milimetre dalga | TelephonyDisplayInfo.getOverrideNetworkType() = NR_MMWAVE |
5G/A | TelephonyManager.getDataNetworkType() = 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}