5G 測試

如果是搭載 Android 11 以上版本的裝置,Android 通訊端測試套件 (ACTS) 支援單一和多裝置環境的核心 5G NSA 核心用途。本頁說明 ACTS 如何偵測及確保裝置連線到 5G NSA 網路,並提供測試路徑結構的總覽

偵測

從 Android 11 開始,Android 架構包含用來偵測 5G 的 API。詳情請參閱「5G 偵測」。

編寫 Android 層 (SL4A) 的指令碼可監聽 5G 偵測,方法是監聽 PhoneStateListenerLISTEN_DISPLAY_INFO_CHANGED 事件並覆寫 onDisplayInfoChanged() 方法。SL4A 使用下列值來區分 5G 的 NSA (非獨立)、mmWave (毫米波) 和 SA (獨立) 連線類型:

連線類型
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

ACTS 測試使用 is_current_network_5g_nsa() 方法,確保裝置已連線至 5G NSA 網路

測試路徑與測試結構

ACTS 中的所有電話測試 (1400+) 都屬於 tel 目錄。5G 測試位於 tools/test/connectivity/acts\_tests/tests/google/nr/ 目錄 (nr 代表新無線電)。5G 無線電存取技術 (RAT) 引進了 5G 無線電存取技術 (RAT),針對即時網路環境的 5G 測試和 4G、3G、2G 和 1x 各自獨立,讓 ACTS 測試能夠保持可擴充且獨立。

以下將說明 5G 測試的測試類別。

  • Nsa5gActivationTest:驗證單一裝置是否可從各種狀態正確連線至 5G NSA。

    test_5g_nsa_activation_from_apm test_5g_nsa_activation_from_reboot
    test_5g_nsa_activation_from_3g
    
  • Nsa5gVoiceTest:驗證多部裝置之間的語音通話功能。

    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:驗證資料功能,例如瀏覽、資料停滯和計量付費。

    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:驗證在多部裝置之間收發簡訊。

    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:驗證在多部裝置之間收發多媒體訊息。

    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 的裝置驗證 Wi-Fi 網路共用功能。

    test_5g_nsa_tethering_to_5gwifi test_5g_nsa_tethering_to_2gwifi
    

測試輸出內容範例

如要確認裝置是否使用 5G NSA,請在 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]

疑難排解

如要在失敗期間將 API 回應分類,而不執行 ACTS 測試,請使用下列指令:

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