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 memberikan ringkasan struktur jalur pengujian

Deteksi

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

Lapisan Skrip Untuk 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 (nonmandiri), mmWave (gelombang milimeter), dan SA (mandiri) untuk 5G:

Jenis koneksi Nilai
NSA 5G 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 new radio). Dengan diperkenalkannya teknologi akses radio (RAT) 5G, pengujian 5G terpisah dari 4G, 3G, 2G, dan 1x untuk lingkungan jaringan live guna memungkinkan pengujian ACTS menjadi skalabel dan independen.

Berikut penjelasan class pengujian untuk pengujian 5G.

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

    test_5g_nsa_activation_from_apm test_5g_nsa_activation_from_reboot
    test_5g_nsa_activation_from_3g
    
  • Nsa5gVoiceTest: Memverifikasi fungsi 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 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 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 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 triase respons API tanpa menjalankan uji 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}