5G測試

對於運行 Android 11 或更高版本的設備, Android Comms Test Suite (ACTS)支持單設備和多設備環境的核心5G NSA用例。本頁介紹 ACTS 如何檢測並確保設備連接到 5G NSA 網絡,並概述測試路徑結構

檢測

從 Android 11 開始,Android 框架包括用於檢測 5G 的 API。更多詳情,請參見5G 檢測

Android 腳本層 (SL4A) 通過偵聽來自PhoneStateListenerLISTEN_DISPLAY_INFO_CHANGED事件並覆蓋onDisplayInfoChanged()方法來支持 5G 檢測。 SL4A 使用以下值來區分 5G 的 NSA(非獨立)、mmWave(毫米波)和 SA(獨立)連接類型:

連接類型價值觀
5G 國家安全局TelephonyManager.getDataNetworkType() = LTE

TelephonyDisplayInfo.getNetworkType() = LTE

TelephonyDisplayInfo.getOverrideNetworkType() = NR_NSA

5G 毫米波TelephonyDisplayInfo.getOverrideNetworkType() = NR_MMWAVE
5G SA TelephonyManager.getDataNetworkType() = NR

TelephonyDisplayInfo.getNetworkType() = NR

ACTS 測試使用is_current_network_5g_nsa()方法來確保設備連接到 5G NSA 網絡

測試路徑和測試結構

ACTS 中的所有電話測試 (1400+) 都是tel directory的一部分。 5G 測試位於tools/test/connectivity/acts\_tests/tests/google/nr/目錄中(nr 代表新無線電)。隨著 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 :驗證在多個設備之間發送和接收 SMS 消息。

    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 :驗證在多個設備之間發送和接收 MMS 消息。

    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}