Đối với các thiết bị chạy Android 11 trở lên, Bộ kiểm tra Android Comms (ACTS) hỗ trợ các trường hợp sử dụng 5G NSA cốt lõi cho môi trường một thiết bị và nhiều thiết bị. Trang này trình bày cách ACTS phát hiện và đảm bảo thiết bị được kết nối với mạng 5G NSA và cung cấp cho bạn cái nhìn tổng quan về cấu trúc đường dẫn kiểm tra
Phát hiện
Từ Android 11, khung Android bao gồm các API để phát hiện 5G. Để biết thêm chi tiết, hãy xem Phát hiện 5G .
Scripting Layer For Android (SL4A) hỗ trợ phát hiện 5G bằng cách lắng nghe các sự kiện LISTEN_DISPLAY_INFO_CHANGED
từ PhoneStateListener
và ghi đè phương thức onDisplayInfoChanged()
. SL4A sử dụng các giá trị sau để phân biệt giữa các loại kết nối NSA (không độc lập), mmWave (sóng milimet) và SA (độc lập) cho 5G:
Kiểu kết nối | Giá trị |
---|---|
5G NSA | TelephonyManager.getDataNetworkType() = LTE |
Sóng 5G mm | TelephonyDisplayInfo.getOverrideNetworkType() = NR_MMWAVE |
5G SA | TelephonyManager.getDataNetworkType() = NR |
Các bài kiểm tra ACTS sử dụng phương thức is_current_network_5g_nsa()
để đảm bảo thiết bị được kết nối với mạng 5G NSA
Đường dẫn thử nghiệm và cấu trúc thử nghiệm
Tất cả các cuộc kiểm tra điện thoại (1400+) trong ACTS đều là một phần của thư mục tel
. Các cuộc kiểm tra 5G nằm trong tools/test/connectivity/acts\_tests/tests/google/nr/
(nr là viết tắt của radio mới). Với sự ra đời của công nghệ truy cập vô tuyến 5G (RAT), các thử nghiệm 5G tách biệt với 4G, 3G, 2G và 1x đối với môi trường mạng trực tiếp để cho phép các thử nghiệm ACTS có thể mở rộng và độc lập.
Phần sau đây mô tả các lớp kiểm tra dành cho kiểm tra 5G.
Nsa5gActivationTest
: Xác minh xem một thiết bị có kết nối chính xác với 5G NSA từ nhiều trạng thái khác nhau hay không.test_5g_nsa_activation_from_apm test_5g_nsa_activation_from_reboot test_5g_nsa_activation_from_3g
Nsa5gVoiceTest
: Xác minh chức năng gọi thoại giữa nhiều thiết bị.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
: Xác minh chức năng dữ liệu như duyệt, dừng dữ liệu và đo lường.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
: Xác minh việc gửi và nhận tin nhắn SMS giữa nhiều thiết bị.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
: Xác minh việc gửi và nhận tin nhắn MMS giữa nhiều thiết bị.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
: Xác minh kết nối Wi-Fi qua thiết bị được kết nối với 5G NSA.test_5g_nsa_tethering_to_5gwifi test_5g_nsa_tethering_to_2gwifi
Đầu ra thử nghiệm mẫu
Để xác nhận một thiết bị đang sử dụng 5G NSA, hãy kiểm tra các thông báo nhật ký sau trong 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]
Xử lý sự cố
Để phân loại phản hồi API mà không chạy thử nghiệm ACTS khi không thành công, hãy sử dụng các lệnh sau:
>> 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}