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