5G 테스트

Android 11 이상을 실행하는 기기의 경우 Android Comms Test Suite(ACTS) 는 단일 및 다중 기기 환경에 대한 핵심 5G NSA 사용 사례를 지원합니다. 이 페이지에서는 ACTS가 장치를 5G NSA 네트워크에 연결하고 감지하는 방법을 설명하고 테스트 경로 구조에 대한 개요를 제공합니다.

발각

Android 11부터 Android 프레임워크에는 5G를 감지하는 API가 포함됩니다. 자세한 내용은 5G 감지 를 참조하십시오.

Android용 스크립팅 레이어(SL4A)는 PhoneStateListener 에서 LISTEN_DISPLAY_INFO_CHANGED 이벤트를 수신하고 onDisplayInfoChanged() 메서드를 재정의하여 5G 감지를 지원합니다. SL4A는 다음 값을 사용하여 5G용 NSA(비독립형), mmWave(밀리미터파) 및 SA(독립형) 연결 유형을 구분합니다.

연결 타입 가치
5G NSA 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 디렉토리 의 일부입니다. 5G 테스트는 tools/test/connectivity/acts\_tests/tests/google/nr/ 디렉토리 에 있습니다(nr은 새 라디오를 나타냄). 5G 무선 액세스 기술(RAT)의 도입으로 5G 테스트는 ACTS 테스트를 확장 가능하고 독립적으로 허용하기 위해 라이브 네트워크 환경에 대해 4G, 3G, 2G 및 1x와 분리됩니다.

다음은 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]

문제 해결

실패 시 ACTS 테스트를 실행하지 않고 API 응답을 분류하려면 다음 명령을 사용하십시오.

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