एसीटीएस टेलीफ़ोनी टेस्ट

Android Comms Test Suite (ACTS) की मदद से, वाई-फ़ाई, ब्लूटूथ, और सेल्युलर सेवाओं जैसे कनेक्टिविटी स्टैक की अपने-आप जांच होने की सुविधा मिलती है. टेस्टिंग टूल के लिए, adb और Python की ज़रूरत होती है. टूल, tools/test/connectivity/acts में मौजूद है.

इस पेज पर, दो फ़ोन इस्तेमाल करने वाले उपयोगकर्ता के लिए, Android Open Source Project (AOSP) में उपलब्ध बुनियादी टेलीफ़ोन टेस्ट चलाने का तरीका बताया गया है.

ज़रूरी शर्तें

ACTS टेलीफ़ोन टेस्ट चलाने के लिए, आपके पास पूरी Android रिपॉज़िटरी का ऐक्सेस होना चाहिए और उन डिवाइसों पर userdebug बिल्ड इंस्टॉल करने होंगे जिनका आपको टेस्ट करना है.

Android रिपॉज़िटरी डाउनलोड करना

सोर्स डाउनलोड करें में दिए गए निर्देशों का पालन करके, किसी ऐसी मशीन पर Android रिपॉज़िटरी डाउनलोड करें जिस पर उन डिवाइसों से यूएसबी कनेक्शन हो जिनकी आपको जांच करनी है.

  • AOSP एक ऐसा कोडबेस है जिसका साइज़ कई गीगाबाइट होता है और यह लगातार बढ़ता रहता है. अपनी उम्मीदों के मुताबिक डाउनलोड में लगने वाले समय को अपने हिसाब से सेट करें.
    • अगर मशीन का साइज़ सीमित है, तो repo init कमांड में --depth=1 जोड़ें.
  • आने वाले समय में ACTS टूल से जुड़े अपडेट पाने के लिए, Android की रूट डायरेक्ट्री पर जाएं:
    • repo sync tools/test/connectivity का इस्तेमाल करें
    • और repo sync external/sl4a

डिवाइसों पर userdebug बिल्ड की पुष्टि करना

टेस्टिंग के लिए इस्तेमाल किए जाने वाले डिवाइसों पर, Android का userdebug वर्शन इंस्टॉल करें.

  • Android बनाएं में दिए गए निर्देशों का इस्तेमाल करके, रिपॉज़िटरी बनाएं.
  • किसी डिवाइस को फ़्लैश करना में बताए गए तरीके से डिवाइस को फ़्लैश करें.
    • adb shell getprop ro.build.type निर्देश userdebug दिखना चाहिए.
    • अगर ro.build.type उपलब्ध नहीं है, तो userdebug बिल्ड की मदद से, adb शेल को रूट (टर्मिनल #) के तौर पर चलाया जा सकता है.

SL4A को बिल्ड और इंस्टॉल करना

Scripting Layer For Android (SL4A) को बनाने और इंस्टॉल करने के लिए, Scripting Layer for Android में दिए गए निर्देशों का पालन करें. Android बिल्ड में डिफ़ॉल्ट रूप से SL4A बिल्ड जोड़ना सेक्शन ज़रूरी नहीं है.

SLA4 बनाने के बाद, आखिरी लॉग मैसेज में sl4a.apk फ़ाइल की जगह की जानकारी होती है, जिसे आपको सभी डिवाइसों पर इंस्टॉल करना होता है. यहां लॉग मैसेज का एक उदाहरण दिया गया है:

Copy: out/target/path/to/sl4a.apk

टेस्ट करने के लिए डिवाइसों को कॉन्फ़िगर करना

ACTS के बिल्ड/टूल की इन ज़रूरी शर्तों का इस्तेमाल करके, डिवाइसों को कॉन्फ़िगर करें:

  • अगर एडीबी वेंडर की कुंजियां उपलब्ध नहीं हैं, तो डीयूटी पर इस कंप्यूटर पर भरोसा करें पॉप-अप दिखने पर उस पर टैप करें. अगर एडीबी वेंडर की चाबियां उपलब्ध हैं, तो:

    • ADB वेंडर कुंजियां और ड्राइवर, DUT के लिए यूनीक होने चाहिए.
    • यूएसबी डिबगिंग को हमेशा चालू रखने के लिए, आपके सोर्स ट्री में मौजूद ADB वेंडर पासकोड को export ADB_VENDOR_KEYS=/path/to/directory/with/vendor/keys का इस्तेमाल करके ~/.bashrc (या इसके बराबर) में जोड़ना होगा. यहां /path/to/directory, होस्ट पर आपका फ़ुल क्वालीफ़ाइड पाथ है. ADB से जुड़ी समस्या हल करने के लिए, हार्डवेयर डिवाइस पर ऐप्लिकेशन चलाना लेख पढ़ें.
  • यूएसबी डीबग करने की अनुमति दें: जब adb ड्राइवर इंस्टॉल किए जाते हैं, तो adb डिवाइस, डिवाइस पर यूएसबी डीबग करने का अनुरोध कर सकते हैं.

  • $ adb install -r <ANDROID_ROOT>/path/to/sl4a.apk का इस्तेमाल करके sl4a.apk इंस्टॉल करना

  • पक्का करें कि फ़ोन, टेस्ट सर्वर से यूएसबी 2.0 कनेक्शन का इस्तेमाल करें.

  • ये टेस्ट, लाइव सेल नेटवर्क पर निर्भर करते हैं. इसलिए, फ़ोन में सिम कार्ड डालें और फ़ोन को ऐसी जगह पर रखें जहां सेल सेवा अच्छी हो.

  • सभी सिम कार्ड को JSON फ़ाइल में जोड़ें, जैसा कि कॉन्फ़िगरेशन फ़ाइल लिखना सेक्शन में बताया गया है.

एनवायरमेंट सेट अप करना

एनवायरमेंट सेट अप करने से पहले, पुष्टि करें कि Python 3.4 या इसके बाद का वर्शन इंस्टॉल हो.

चलाएं:

sudo apt-get install python3-setuptools
sudo apt-get install python3-pip
sudo pip3 install --upgrade pip setuptools
sudo apt-get install protobuf-compiler

ACTS इंस्टॉल करना

चलाएं:

cd <ANDROID_ROOT>/tools/test/connectivity/acts/framework/
sudo python3 setup.py develop
cd -

इंस्टॉल की पुष्टि करने के लिए, act.py -h चलाएं. इससे, उपलब्ध कमांड की सूची प्रिंट होती है.

कॉन्फ़िगरेशन फ़ाइल लिखना

टेस्ट चलाने के लिए, आपको कॉन्फ़िगरेशन की जानकारी वाली फ़ाइल बनानी होगी. यहां .config फ़ाइल का एक उदाहरण दिया गया है. Android रिपॉज़िटरी में, tools/test/connectivity/acts/framework/sample_config.json में मिलती-जुलती फ़ाइल उपलब्ध है. XXXXXXX को डिवाइस के सीरियल नंबर से बदलें, ताकि ACTS को टेलीफ़ोनी टेस्ट करने के लिए ज़रूरी कम से कम जानकारी मिल सके.

{
  "_description": "Minimum Telephony Config",
  "testbed":
  [
      {
          "_description": "A testbed listing two AndroidDevices for adb.",
          "name": "ExampleTestBed",
          "AndroidDevice": [{"serial": "XXXXXXX", "adb_logcat_param": "-b all"},
                            {"serial": "XXXXXXX", "adb_logcat_param": "-b all"}]
      }
  ],
  "logpath": "/path/to/logs",
  "testpaths": "/path/to/android/repo/tools/test/connectivity",
  "sim_conf_file": "/path/to/simcard_list.json"
}

टेस्ट पैरामीटर कॉन्फ़िगर करने के लिए, टेबल में मौजूद बटन का इस्तेमाल करें. ज़्यादा विकल्पों के लिए, कॉन्फ़िगरेशन के अन्य विकल्प देखें.

सुरक्षा कुंजी वैल्यू
_description पूरी कॉन्फ़िगर फ़ाइल के कॉन्टेंट पर टिप्पणी करना
testbed उस एनवायरमेंट की जानकारी जिसमें टेस्ट चलाए जा सकते हैं
(टेस्ट किया गया) _description हर टेस्टबेड पर टिप्पणी करें, क्योंकि ACTS अलग-अलग टेस्टबेड को टारगेट कर सकता है
(testbed) name कमांड लाइन से कॉल करने के लिए, टेस्टबेड का नाम
(testbed) AndroidDevice उन खास डिवाइसों की सूची जिन्हें टेस्ट टारगेट करता है
ध्यान दें: सूची में एक से ज़्यादा डिवाइस हो सकते हैं. एक-दूसरे को कॉल करने वाले फ़ोन की जांच करने वाले टेस्ट में, दो डिवाइस होने चाहिए. अगर डिवाइसों की संख्या कम है, तो टेस्ट पूरा नहीं होगा. अगर सूची में दो डिवाइस हैं और टेस्ट में सिर्फ़ एक डिवाइस की ज़रूरत है, तो वह टेस्ट पहले डिवाइस पर चलाया जाता है.
(testbed)(AndroidDevice) serial डिवाइस का सीरियल नंबर (adb devices से प्रिंट किया गया)
(testbed)(AndroidDevice) adb_logcat_param जांच के दौरान adb logcat को कॉल करने पर पास किए जाने वाले पैरामीटर
logpath टेस्ट सर्वर पर वह जगह जहां लॉग सेव किए जाते हैं
testpaths टेस्ट केस कोड की जगह
sim_conf_file .json फ़ाइल की जगह, जिसमें उपलब्ध सिम कार्ड की सूची दी गई है
सिम कार्ड की सूची में कार्ड का आईडी, कार्ड की सुविधाएं, ऑपरेटर, और फ़ोन नंबर शामिल होता है.
{
    "sim-card-ID-here": {
        "capability": [
            "voice",
            "ims",
            "volte",
            "vt",
            "sms",
            "tethering",
            "data"
        ],
        "operator": "tmo",
        "phone_num": "12345678901"
    },
...
}

सिस्टम > फ़ोन के बारे में जानकारी में जाकर, डिवाइस में मौजूद फ़ोन नंबर देखा जा सकता है. आम तौर पर, सिम कार्ड आईडी सिम कार्ड पर प्रिंट होता है. इसके अलावा, डिवाइस में सिस्टम > फ़ोन के बारे में जानकारी > सिम कार्ड की स्थिति में जाकर भी सिम कार्ड आईडी देखा जा सकता है. ऑपरेटर स्ट्रिंग tools/test/connectivity/acts_tests/acts_contrib/test_utils/tel/tel_defines.py पर तय की गई है. इसके बाद, CARRIER_ खोजें.

कॉन्फ़िगरेशन के अन्य विकल्प

Android रिपॉज़िटरी में tools/test/connectivity/acts/framework/acts/config/entries.py पर मौजूद entries.py फ़ाइल में, कमांड लाइन के कॉन्फ़िगरेशन के मुख्य विकल्पों की परिभाषाएं होती हैं.

कोड में, जांच से जुड़े पैरामीटर भी ढूंढे जा सकते हैं. इसके लिए, self.user_params.get खोजें.

टेस्ट चलाना

कॉन्फ़िगरेशन फ़ाइल लिखे जाने के बाद, कमांड लाइन से टेस्ट चलाएं. किसी पेज का साइज़ देखने के कई तरीके होते हैं. हालांकि, सबसे आसान तरीका है कि आप -c filename.config -tc TestCase:name का इस्तेमाल करें. इस उदाहरण में, minimum.config नाम की कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल किया गया है:

act.py -c minimum.config -tc TelLiveVoiceTest:test_call_mo_voice_general

टेस्ट रन पूरा होने पर, आपको ऐसा फ़ाइनल आउटपुट मैसेज दिखेगा:

INFO Summary for test run ExampleTestBed@yyyy-mm-dd_15-23-43-614: Requested 1,
Executed 1, Passed 1, Failed 0, Skipped 0, Error 0

एक से ज़्यादा टेस्ट चलाना

एक से ज़्यादा फ़ाइलों में खास टेस्ट केस चलाने के लिए, एक टेस्ट फ़ाइल बनाएं और उसे -tf फ़्लैग के साथ पास करें , जैसा कि रेग्रेशन टेस्ट सुइट के उदाहरण में दिखाया गया है:

TelLiveVoiceTest:
test_call_mo_voice_general,
test_call_volte_to_volte,
test_call_3g_to_3g

TelLiveDataTest:
test_airplane_mode,
test_4g,
test_3g

TelLiveSmsTest:
test_sms_mo_4g,
test_sms_mt_4g,
test_sms_mo_3g,
test_sms_mt_3g,
test_mms_mo_4g,
test_mms_mt_4g

इस उदाहरण कमांड के हिसाब से, फ़ाइल का नाम regression_suite. है

act.py -c minimum.config -tf regression_suite

टेस्ट को कई बार चलाना

किसी टेस्ट केस (-tc) या टेस्ट फ़ाइल (-tf) को कई बार चलाने के लिए, कमांड में -ti # (टेस्ट के दोहराव) जोड़ें.