Pengujian 5G

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

Deteksi

Mulai Android 11, framework Android menyertakan API untuk mendeteksi 5G. Untuk mengetahui detail selengkapnya, lihat Deteksi 5G.

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

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

TelephonyDisplayInfo.getNetworkType() = LTE

TelephonyDisplayInfo.getOverrideNetworkType() = NR_NSA

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

TelephonyDisplayInfo.getNetworkType() = NR

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

Jalur pengujian dan struktur pengujian

Semua pengujian 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 aktif agar pengujian ACTS dapat diskalakan dan independen.

Berikut ini penjelasan class pengujian untuk pengujian 5G.

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

    test_5g_nsa_activation_from_apm test_5g_nsa_activation_from_reboot
    test_5g_nsa_activation_from_3g
    
  • Nsa5gVoiceTest: Memverifikasi fungsi panggilan suara di 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 fungsi data seperti penjelajahan, stall data, dan koneksi berkuota.

    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 antar-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 output pengujian

Untuk mengonfirmasi bahwa 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]

Pemecahan masalah

Untuk melakukan triage 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}