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

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

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

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

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

Android डेटा स्टोर करने की जगह डाउनलोड करना

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

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

डिवाइसों पर उपयोगकर्ता डीबग बिल्ड की पुष्टि करें

अपने टेस्ट डिवाइसों पर, Android का Userडीबग वर्शन इंस्टॉल करें.

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

SL4A बनाएं और इंस्टॉल करें

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

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

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

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

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

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

    • 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 हर टेस्टबेड को टारगेट कर सकता है
(टेस्ट किया गया) name कमांड लाइन से कॉल करने के लिए, टेस्टबेड का नाम
(टेस्ट किया गया) 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 # (टेस्ट इटरेशन) जोड़ें.