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
#
(टेस्ट के दोहराव) जोड़ें.