Pengujian 5G

Untuk perangkat yang menjalankan Android 11 atau lebih tinggi, Android Comms Test Suite (ACTS) mendukung kasus penggunaan inti 5G NSA untuk lingkungan tunggal dan multi-perangkat. Halaman ini membahas bagaimana ACTS mendeteksi dan memastikan perangkat terhubung ke jaringan 5G NSA dan memberi Anda gambaran umum tentang struktur jalur pengujian

Deteksi

Mulai Android 11, framework Android menyertakan API untuk mendeteksi 5G. Untuk lebih jelasnya, lihat Deteksi 5G .

Scripting Layer Untuk Android (SL4A) mendukung deteksi 5G dengan mendengarkan peristiwa LISTEN_DISPLAY_INFO_CHANGED dari PhoneStateListener dan mengganti metode onDisplayInfoChanged() . SL4A menggunakan nilai berikut untuk membedakan antara jenis koneksi NSA (non standalone), mmWave (gelombang milimeter), dan SA (standalone) untuk 5G:

Jenis koneksi Nilai-nilai
5G NSA TelephonyManager.getDataNetworkType() = LTE

TelephonyDisplayInfo.getNetworkType() = LTE

TelephonyDisplayInfo.getOverrideNetworkType() = NR_NSA

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

TelephonyDisplayInfo.getNetworkType() = NR

Tes ACTS menggunakan metode is_current_network_5g_nsa() untuk memastikan perangkat terhubung ke jaringan 5G NSA

Jalur pengujian dan struktur pengujian

Semua tes telepon (1400+) di ACTS adalah bagian dari direktori tel . Pengujian 5G terletak di direktori tools/test/connectivity/acts\_tests/tests/google/nr/ (nr adalah singkatan dari radio baru). Dengan diperkenalkannya teknologi akses radio (RAT) 5G, pengujian 5G terpisah dari 4G, 3G, 2G, dan 1x untuk lingkungan jaringan langsung agar pengujian ACTS dapat diskalakan dan independen.

Berikut ini penjelasan kelas pengujian untuk pengujian 5G.

  • Nsa5gActivationTest : Memverifikasi apakah satu perangkat terhubung dengan benar ke 5G NSA dari berbagai negara bagian.

    test_5g_nsa_activation_from_apm test_5g_nsa_activation_from_reboot
    test_5g_nsa_activation_from_3g
    
  • Nsa5gVoiceTest : Memverifikasi fungsionalitas panggilan suara antara beberapa perangkat.

    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 : Memverifikasi fungsionalitas data seperti penelusuran, penghentian data, dan pengukuran.

    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 : Memverifikasi pengiriman dan penerimaan pesan SMS antara beberapa perangkat.

    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 : Memverifikasi pengiriman dan penerimaan pesan MMS antara beberapa perangkat.

    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 : Memverifikasi tethering Wi-Fi melalui perangkat yang terhubung ke 5G NSA.

    test_5g_nsa_tethering_to_5gwifi test_5g_nsa_tethering_to_2gwifi
    

Contoh hasil tes

Untuk mengonfirmasi perangkat menggunakan 5G NSA, periksa pesan log berikut di 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]

Penyelesaian masalah

Untuk melakukan triase respons API tanpa menjalankan pengujian ACTS selama kegagalan, gunakan perintah berikut:

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