5G テスト

Android 11 以降を搭載したデバイスの Android Comms テストスイート(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 mmWave TelephonyDisplayInfo.getOverrideNetworkType() = NR_MMWAVE
5G SA TelephonyManager.getDataNetworkType() = NR

TelephonyDisplayInfo.getNetworkType() = NR

ACTS テストは is_current_network_5g_nsa() メソッドを使用して、デバイスが 5G NSA ネットワークに接続されていることを確認します。

テストパスとテスト構造

ACTS のすべてのテレフォニー テスト(1,400 以上)は、tel ディレクトリに含まれています。5G テストは tools/test/connectivity/acts\_tests/tests/google/nr/ ディレクトリにあります(nr は new radio(新しい無線通信)の略です)。5G 無線アクセス技術(RAT)の導入により、5G テストはライブ ネットワーク環境の 4G、3G、2G、1x から分離されるため、ACTS テストをスケーラブルで独立したものにすることができます。

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

  • Nsa5gActivationTest: 1 つのデバイスがさまざまな状態から 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}