5Gテスト

Android 11以降を実行しているデバイスの場合、 Android Comms Test Suite(ACTS)は、シングルおよびマルチデバイス環境のコア5GNSAユースケースをサポートします。このページでは、ACTSがデバイスが5G NSAネットワークに接続されていることを検出および確認する方法について説明し、テストパス構造の概要を示します。

検出

Android 11以降、Androidフレームワークには5Gを検出するためのAPIが含まれています。詳細については、 5G検出を参照してください。

Scripting Layer For Android(SL4A)は、PhoneStateListenerからLISTEN_DISPLAY_INFO_CHANGEDイベントをPhoneStateListenerし、 onDisplayInfoChanged()メソッドをオーバーライドすることにより、5G検出をサポートします。 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()メソッドを使用して、デバイスが5GNSAネットワークに接続されていることを確認します。

テストパスとテスト構造

ACTSのすべてのテレフォニーテスト(1400+)は、 telディレクトリの一部です。 5Gテストは、 tools/test/connectivity/acts\_tests/tests/google/nr/ディレクトリにあります(nrは新しい無線を表します)。 5G無線アクセステクノロジー(RAT)の導入により、5Gテストはライブネットワーク環境の4G、3G、2G、および1xとは別になり、ACTSテストをスケーラブルで独立したものにすることができます。

以下に、5Gテストのテストクラスについて説明します。

  • Nsa5gActivationTest :単一のデバイスがさまざまな状態から5GNSAに正しく接続しているかどうかを確認します。

    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 :5GNSAに接続されたデバイスを介したWi-Fiテザリングを確認します。

    test_5g_nsa_tethering_to_5gwifi test_5g_nsa_tethering_to_2gwifi
    

サンプルテスト出力

デバイスが5GNSA上にあることを確認するには、 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}