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
#
(टेस्ट इटरेशन) जोड़ें.