Thử nghiệm 5G

Đố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

TelephonyDisplayInfo.getNetworkType() = LTE

TelephonyDisplayInfo.getOverrideNetworkType() = NR_NSA

Sóng 5G mm TelephonyDisplayInfo.getOverrideNetworkType() = NR_MMWAVE
5G SA TelephonyManager.getDataNetworkType() = NR

TelephonyDisplayInfo.getNetworkType() = 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}