5G टेस्टिंग

Android 11 या इसके बाद के वर्शन वाले डिवाइसों के लिए, Android Comms Test Suite (ACTS) एक और एक से ज़्यादा डिवाइसों के एनवायरमेंट के लिए, 5G NSA के मुख्य इस्तेमाल के उदाहरणों के साथ काम करता है. इस पेज पर बताया गया है कि ACTS, डिवाइस के 5G एनएसए नेटवर्क से कनेक्ट होने का पता कैसे लगाता है और इसकी पुष्टि कैसे करता है. साथ ही, इसमें टेस्ट पाथ के स्ट्रक्चर की खास जानकारी भी दी गई है

पहचान करना

Android 11 से, Android फ़्रेमवर्क में 5G का पता लगाने के लिए एपीआई शामिल हैं. ज़्यादा जानकारी के लिए, 5G का पता लगाना लेख पढ़ें.

Android के लिए स्क्रिप्टिंग लेयर (SL4A), PhoneStateListener से LISTEN_DISPLAY_INFO_CHANGED इवेंट को सुनकर और onDisplayInfoChanged() तरीके को बदलकर, 5G नेटवर्क की पहचान करने की सुविधा देता है. SL4A, 5G के लिए एनएसए (नॉन-स्टैंडअलोन), एमएम वेव (मिलीमीटर वेव) और एसए (स्टैंडअलोन) कनेक्शन टाइप के बीच अंतर करने के लिए, इन वैल्यू का इस्तेमाल करता है:

कनेक्शन किस तरह का है वैल्यू
5G एनएसए TelephonyManager.getDataNetworkType() = LTE

TelephonyDisplayInfo.getNetworkType() = LTE

TelephonyDisplayInfo.getOverrideNetworkType() = NR_NSA

5G mmWave TelephonyDisplayInfo.getoverlayNetworkType() = NR_MMWAVE
5G SA TelephonyManager.getDataNetworkType() = NR

TelephonyDisplayInfo.getNetworkType() = NR

ACTS टेस्ट में, डिवाइस के 5G एनएसए नेटवर्क से कनेक्ट होने की पुष्टि करने के लिए, is_current_network_5g_nsa() तरीका इस्तेमाल किया जाता है

टेस्ट पाथ और टेस्ट स्ट्रक्चर

ACTS में मौजूद सभी टेलीफ़ोन टेस्ट (1,400 से ज़्यादा), tel डायरेक्ट्री का हिस्सा हैं. 5G टेस्ट, tools/test/connectivity/acts\_tests/tests/google/nr/ डायरेक्ट्री में मौजूद होते हैं. (nr का मतलब है नया रेडियो). 5G रेडियो ऐक्सेस टेक्नोलॉजी (RAT) के आने से, लाइव नेटवर्क एनवायरमेंट के लिए 5G टेस्ट, 4G, 3G, 2G, और 1x से अलग हैं. इससे ACTS टेस्ट, स्केलेबल और इंडिपेंडेंट तरीके से हो सकते हैं.

यहां 5G टेस्ट के लिए टेस्ट क्लास के बारे में बताया गया है.

  • Nsa5gActivationTest: यह पुष्टि करता है कि कोई एक डिवाइस, अलग-अलग राज्यों में 5G एनएसए से सही तरीके से कनेक्ट है या नहीं.

    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: एक से ज़्यादा डिवाइस के बीच एसएमएस मैसेज भेजने और पाने की पुष्टि करता है.

    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: इससे यह पुष्टि की जाती है कि एक से ज़्यादा डिवाइसों के बीच एमएमएस मैसेज भेजे और पाए जा सकते हैं या नहीं.

    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 से कनेक्ट किए गए डिवाइस पर, वाई-फ़ाई टेदरिंग की पुष्टि करता है.

    test_5g_nsa_tethering_to_5gwifi test_5g_nsa_tethering_to_2gwifi
    

टेस्ट के आउटपुट का सैंपल

किसी डिवाइस पर 5G एनएसए काम करता है या नहीं, इसकी पुष्टि करने के लिए 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 टेस्ट चलाए बिना, एपीआई रिस्पॉन्स की प्राथमिकता तय करने के लिए, इन निर्देशों का इस्तेमाल करें:

>> 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}