ACTS टेलीफोनी परीक्षण

एंड्रॉइड कॉम्स टेस्ट सूट (एसीटीएस) वाई-फाई, ब्लूटूथ और सेलुलर सेवाओं जैसे कनेक्टिविटी स्टैक का स्वचालित परीक्षण करता है। परीक्षण उपकरण के लिए adb की आवश्यकता होती है। और पायथन, और इसे tools/test/connectivity/acts में पाया जा सकता है।

यह पृष्ठ वर्णन करता है कि दो फोन वाले उपयोगकर्ता के लिए एंड्रॉइड ओपन सोर्स प्रोजेक्ट (एओएसपी) में उपलब्ध बुनियादी टेलीफोनी परीक्षण कैसे चलाया जाए।

आवश्यक शर्तें

ACTS टेलीफोनी परीक्षण चलाने के लिए, आपके पास पूर्ण एंड्रॉइड रिपॉजिटरी तक पहुंच होनी चाहिए और उन डिवाइसों पर यूजरडिबग बिल्ड इंस्टॉल करना चाहिए जिन्हें आप परीक्षण करना चाहते हैं।

एंड्रॉइड रिपॉजिटरी डाउनलोड करना

किसी ऐसी मशीन पर एंड्रॉइड रिपॉजिटरी डाउनलोड करने के लिए स्रोत डाउनलोड करने के निर्देशों का पालन करें जिसमें उन डिवाइसों के लिए यूएसबी कनेक्शन है जिनका आप परीक्षण करना चाहते हैं।

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

उपकरणों पर यूजरडिबग बिल्ड को सत्यापित करना

अपने परीक्षण उपकरणों पर एंड्रॉइड का यूजरडिबग संस्करण स्थापित करें।

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

SL4A का निर्माण और स्थापना

एंड्रॉइड के लिए स्क्रिप्टिंग लेयर (SL4A) बनाने और स्थापित करने के लिए, एंड्रॉइड के लिए स्क्रिप्टिंग लेयर में दिए गए निर्देशों का पालन करें। डिफ़ॉल्ट रूप से एंड्रॉइड बिल्ड में SL4A बिल्ड जोड़ना अनुभाग वैकल्पिक है।

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

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

परीक्षण के लिए उपकरणों को कॉन्फ़िगर करना

इन ACTS बिल्ड/टूल आवश्यकताओं का उपयोग करके डिवाइस कॉन्फ़िगर करें:

  • यदि ADB विक्रेता कुंजियाँ अनुपलब्ध हैं, तो DUT दिखाई देने पर इस कंप्यूटर पॉपअप पर विश्वास करें पर टैप करें। यदि ADB विक्रेता कुंजियाँ उपलब्ध हैं:

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

  • $ adb install -r <ANDROID_ROOT>/path/to/sl4a.apk उपयोग करके sl4a.apk इंस्टॉल करें

  • सुनिश्चित करें कि फ़ोन परीक्षण सर्वर से USB 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

अधिनियम स्थापित करना

दौड़ना:

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

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

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

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

{
  "_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 परीक्षण द्वारा लक्षित विशिष्ट उपकरणों की सूची
ध्यान दें: सूचीबद्ध कई डिवाइस हो सकते हैं। एक परीक्षण जो एक-दूसरे को कॉल करने वाले फोन चलाता है, उम्मीद करता है कि दो डिवाइस होंगे और कम होने पर विफल हो जाएगा। यदि दो डिवाइस सूचीबद्ध हैं और परीक्षण केवल एक की अपेक्षा करता है, तो वह परीक्षण पहले डिवाइस पर चलाया जाता है।
(टेस्टबेड)(एंड्रॉइडडिवाइस) serial डिवाइस का सीरियल नंबर ( adb devices से मुद्रित)
(टेस्टबेड)(एंड्रॉइडडिवाइस) 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_ खोजें।

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

entries.py रिपॉजिटरी में tools/test/connectivity/acts/framework/acts/config/entries.py पर स्थित प्रविष्टियाँ.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 # (परीक्षण पुनरावृत्तियों) जोड़ें।