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 |
5G mmWave | TelephonyDisplayInfo.getOverrideNetworkType() = NR_MMWAVE |
5G SA | TelephonyManager.getDataNetworkType() = 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}