Đối với các thiết bị chạy Android 11 trở lên, Bộ kiểm thử giao tiếp Android (ACTS) hỗ trợ các trường hợp sử dụng chính của 5G NSA cho môi trường một và nhiều thiết bị. Trang này trình bày cách ACTS phát hiện và đảm bảo một thiết bị kết nối với mạng 5G NSA, đồng thời cung cấp cho bạn thông tin tổng quan về cấu trúc đường dẫn kiểm thử
Phát hiện
Từ Android 11 trở đi, khung Android có các API để phát hiện mạng 5G. Để biết thêm thông tin chi tiết, hãy xem phần Phát hiện mạng 5G.
Lớp tập lệnh dành cho Android (SL4A) hỗ trợ phát hiện 5G bằng cách theo dõi 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:
Loại kết nối | Giá trị |
---|---|
NSA 5G | TelephonyManager.getDataNetworkType() = LTE |
5G mmWave | TelephonyDisplayInfo.getOverrideNetworkType() = NR_MMWAVE |
5G SA | TelephonyManager.getDataNetworkType() = NR |
Hoạt động kiểm thử ACTS sử dụng phương thức is_current_network_5g_nsa()
để đảm bảo thiết bị kết nối với mạng NSA 5G
Lộ trình thử nghiệm và cấu trúc thử nghiệm
Tất cả hoạt động kiểm thử điện thoại (1400 trở lên) trong ACTS đều thuộc thư mục tel
.
Các bài kiểm thử 5G nằm trong thư mục tools/test/connectivity/acts\_tests/tests/google/nr/
(nr là viết tắt của new radio). Nhờ sự ra mắt của công nghệ truy cập vô tuyến 5G (RAT), các thử nghiệm 5G sẽ tách biệt với 4G, 3G, 2G và 1 lần đối với các môi trường mạng trực tiếp để cho phép thử nghiệm ACTS có thể mở rộng và độc lập.
Nội dung sau đây mô tả các lớp kiểm thử cho thử nghiệm 5G.
Nsa5gActivationTest
: Xác minh xem một thiết bị có kết nối đúng cách với NSA 5G ở nhiều trạng thái 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 của dữ liệu, chẳng hạn như duyệt xem, lưu trữ dữ liệu và đo lượng dữ liệu.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 tính năng 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 hoạt động chia sẻ Internet qua Wi-Fi qua một thiết bị kết nối với mạng 5G NSA.test_5g_nsa_tethering_to_5gwifi test_5g_nsa_tethering_to_2gwifi
Kết quả kiểm thử mẫu
Để xác nhận một thiết bị đang dùng mạng 5G NSA, hãy kiểm tra các thông điệp nhật ký sau đây 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]
Khắc phục sự cố
Để phân loại phản hồi của API mà không cần chạy kiểm thử ACTS trong trường hợp 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}