Complete Automotive Tests in a Box (CATBox) एक ओपन सोर्स पैकेज है. यह Automotive से जुड़े टेस्ट को आसानी से पूरा करने और उन्हें लागू करने के लिए ज़रूरी फ़्रेमवर्क और टूल उपलब्ध कराता है. इसके लिए, कम से कम कॉन्फ़िगरेशन की ज़रूरत होती है. CATBox को बढ़ाया जा सकता है. साथ ही, यह उन टूल, इन्फ़्रास्ट्रक्चर, और टेस्ट के साथ काम करता है जिनका इस्तेमाल, Android Automotive OS (AAOS) के इंटिग्रेशन की जांच और पुष्टि करने के लिए किया जाता है. इस वजह से, मार्केटप्लेस को अच्छी क्वालिटी के प्रॉडक्ट उपलब्ध कराए जा सकते हैं.
CATBox को डिज़ाइन करना और लागू करना
CATBox टेस्ट सुइट, Automotive टारगेट डिवाइस पर फ़ंक्शनल और परफ़ॉर्मेंस टेस्ट करने के लिए ज़रूरी टूल, फ़्रेमवर्क, और टेस्ट उपलब्ध कराता है. साथ ही, यह कंपैनियन डिवाइस का इस्तेमाल करते समय भी ऐसा करता है.
इस इमेज में, CATBox पैकेज का हाई लेवल डिज़ाइन दिखाया गया है.
पहली इमेज. CATBox पैकेज
Tradefed
Tradefed एक ओपन सोर्स कंटीन्यूअस टेस्टिंग फ़्रेमवर्क है. इसका इस्तेमाल Android डिवाइसों पर टेस्ट चलाने के लिए किया जाता है. ज़्यादा जानकारी के लिए, Trade Federation की खास जानकारी देखें.
ऑटोमोटिव टेस्ट फ़्रेमवर्क
CATBox, Spectatio नाम के Automotive टेस्ट फ़्रेमवर्क पर आधारित है. यह Automotive डिवाइसों पर अलग-अलग ऐप्लिकेशन की टेस्टिंग के लिए एपीआई उपलब्ध कराता है. इसे UI Automator के आधार पर बनाया गया है. यह एक ओपन सोर्स टेस्टिंग फ़्रेमवर्क है. यह यूज़र इंटरफ़ेस (यूआई) टेस्ट बनाने के लिए एपीआई का एक सेट उपलब्ध कराता है. ये टेस्ट, उपयोगकर्ता और सिस्टम ऐप्लिकेशन के साथ इंटरैक्ट करते हैं.
CATBox टेस्ट सुइट डाउनलोड
Android 14
Android Automotive 14, डेवलपमेंट माइलस्टोन कोड-नेम U की रिलीज़ है. Android 14 के लिए CATBox टेस्ट सुइट डाउनलोड करने के लिए, यहां दिए गए लिंक का इस्तेमाल करें:
Android 12
Android 12, डेवलपमेंट माइलस्टोन का रिलीज़ वर्शन है. इसका कोडनेम S है. Android 12 के लिए CATBox टेस्ट सुइट डाउनलोड करने के लिए, यहां दिए गए लिंक का इस्तेमाल करें:
Android 11
Android 11, डेवलपमेंट माइलस्टोन का रिलीज़ किया गया कोड है. इसे R नाम दिया गया है. Android 11 के लिए CATBox टेस्ट सुइट डाउनलोड करने के लिए, यहां दिए गए लिंक का इस्तेमाल करें:
CATBox बनाना
Android AOSP कोड, लोकल वर्कस्टेशन पर उपलब्ध होने के बाद, catbox
build कमांड का इस्तेमाल करें.
CATBox पैकेज को स्थानीय तौर पर बनाने के लिए:
डिवाइस के आर्किटेक्चर के आधार पर, डिवाइस टारगेट चुनें. इसके बाद, यह कमांड चलाएं:
lunch <target>
CATBox बनाने के लिए, यह कमांड चलाएं:
make catbox
इस कमांड से,
android-catbox.zip
डायरेक्ट्री मेंandroid-catbox.zip
फ़ाइल बनती है. इसका इस्तेमाल टेस्ट चलाने के लिए किया जा सकता है./out/host/linux-x86/catbox
एनवायरमेंट सेट अप करना
CATBox टेस्ट को चलाने के लिए, एनवायरमेंट सेटअप करने का तरीका CTS को सेट अप करने के तरीके जैसा ही होता है. एनवायरमेंट सेट अप करने के लिए, यहां दिए गए हर टास्क को पूरा करें:
ADB और AAPT इंस्टॉल करें.
JDK इंस्टॉल करें. Ubuntu के लिए Java डेवलपमेंट किट देखें.
मेमोरी की सीमा बढ़ाएं. स्टोरेज की ज़रूरी शर्तें देखें.
CATBox को सेट अप और इस्तेमाल करना
Android डिवाइसों पर टेस्ट चलाने के लिए, Tradefed टेस्ट फ़्रेमवर्क का इस्तेमाल करें. CATBox सेट अप करने से पहले, ट्रेड फ़ेडरेशन की खास जानकारी देखें.
CATBox को सेट अप करने और चलाने के लिए, यहां दिया गया सेक्शन देखें.
डिवाइस सेट अप करना
टेस्ट प्लान चलाने से पहले, अपने डिवाइस को सेट अप करने के लिए यह तरीका अपनाएं:
पक्का करें कि आपने Android Debug Bridge (adb) और Android Asset Packaging Tool (AAPT), दोनों के नए वर्शन इंस्टॉल किए हों. साथ ही, आपने इन टूल की जगह को अपनी मशीन के सिस्टम पाथ में जोड़ा हो. ज़्यादा जानकारी के लिए, ADB और AAPT देखें.
कम से कम एक डिवाइस कनेक्ट करें और टेस्ट किए जाने वाले डिवाइस (डीयूटी) को इस तरह तैयार करें:
ऑटोमोटिव डिवाइस को फ़ैक्ट्री रीसेट करने के लिए, सेटिंग > सिस्टम > रीसेट करने के विकल्प > पूरा डेटा मिटाएं पर जाएं.
डिवाइस के अपने-आप रीस्टार्ट होने का इंतज़ार करें.
पक्का करें कि adb चालू हो. यह पुष्टि करने के लिए कि डिवाइस उपलब्ध है, यह निर्देश चलाएं:
adb devices
रूट को चालू करने के लिए, यह कमांड चलाएं:
adb -s DEVICE_SERIAL root
DEVICE_SERIAL
की जगह, ऑटोमोटिव डिवाइस का सीरियल आईडी डालें.वाई-फ़ाई से कनेक्ट करें.
CATBox पैकेज को एक्सट्रैक्ट करें
डिवाइस सेट अप करने के बाद, CATBox पैकेज को अनज़िप करें और निकाले गए फ़ोल्डर पर जाएं:
unzip android-catbox.zip
cd android-catbox
CATBox में टेस्ट लागू करना
CATBox पैकेज में मौजूद टेस्ट प्लान के साथ CATBox चलाने के लिए:
./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIAL
DEVICE_SERIAL
की जगह, ऑटोमोटिव डिवाइस का सीरियल आईडी डालें. अगर आपने होस्ट मशीन से एक से ज़्यादा डिवाइस कनेक्ट किए हैं, तो उन्हें अलग-अलग दिखाने के लिए DEVICE_SERIAL
का इस्तेमाल करें. TEST_PLAN_NAME
को उस टेस्ट प्लान के नाम से बदलें जिसे आपको चलाना है.
उपलब्ध प्लान की पूरी सूची पाने के लिए, कमांड लाइन का इस्तेमाल करें:
./tools/catbox-tradefed list plans | grep -i catbox
टेस्ट प्लान के टाइप
यहां दी गई टेबल में, उपलब्ध फ़ंक्शनल टेस्ट प्लान दिखाए गए हैं.
फ़ंक्शन की जांच करने के प्लान | ब्यौरा |
---|---|
catbox-functional |
फ़ंक्शन की जांच करने वाले टेस्ट. |
catbox-functional-app-info-setting |
ऐप्लिकेशन की जानकारी सेव करने वाली सेटिंग की फ़ंक्शनल टेस्टिंग. |
catbox-functional-admin-user-grant-permissions |
एडमिन उपयोगकर्ता को अनुमतियां देने से जुड़े फ़ंक्शन की जांच. |
catbox-functional-app-info-setting-ui-elements |
ऐप्लिकेशन की जानकारी सेव करने वाली सेटिंग की फ़ंक्शनल टेस्टिंग. |
catbox-functional-appgrid |
ऐप्लिकेशन ग्रिड के फ़ंक्शन की जांच करना. |
catbox-functional-base |
फ़ंक्शन की जांच करने वाले टेस्ट की सूची. |
catbox-functional-bluetooth-audio |
ब्लूटूथ ऑडियो के फ़ंक्शन की जांच करने वाले टेस्ट. |
catbox-functional-bluetooth-palette |
स्टेटस बार के फ़ंक्शन की जांच. |
catbox-functional-bluetooth-tests |
Mobly का इस्तेमाल करके ब्लूटूथ की जांच करना. |
catbox-functional-brightness-palette |
स्टेटस बार के फ़ंक्शन की जांच. |
catbox-functional-btmoped |
ब्लूटूथ की सुविधा वाले मोपेड पर फ़ंक्शन की जांच. |
catbox-functional-date-time-setting |
तारीख और समय की सेटिंग से जुड़ी सुविधाओं की जांच करना. |
catbox-functional-dial |
डायल फ़ंक्शन की जांच करना. |
catbox-functional-display-setting |
डिसप्ले सेटिंग की फ़ंक्शनल जांच. |
catbox-functional-driving-optimized-apps |
यूएक्स रिस्ट्रिक्शन के फ़ंक्शन की जांच करने वाले टेस्ट. |
catbox-functional-enable-developers-option |
यह कुकी, डेवलपर के लिए उपलब्ध सेटिंग और टूल के फ़ंक्शन की जांच करने की सुविधा चालू करती है. |
catbox-functional-home |
घर पर फ़ंक्शन की जांच करना. |
catbox-functional-lock-screen |
लॉक स्क्रीन की सुविधाओं की जांच करना. |
catbox-functional-mediacenter |
Media Center के फ़ंक्शन की जांच करने वाली कुकी. |
catbox-functional-microphone-recent-apps |
माइक्रोफ़ोन की सेटिंग से जुड़े फ़ंक्शन की जांच करना. |
catbox-functional-microphone-setting |
माइक्रोफ़ोन की सेटिंग से जुड़े फ़ंक्शन की जांच करना. |
catbox-functional-multiuser |
एक से ज़्यादा उपयोगकर्ताओं के लिए फ़ंक्शन की जांच. |
catbox-functional-multiuser-system-user |
एक से ज़्यादा उपयोगकर्ताओं के लिए फ़ंक्शन की जांच. |
catbox-functional-navigation-bar |
नेविगेशन बार के फ़ंक्शन की जांच. |
catbox-functional-network-palette |
स्टेटस बार के फ़ंक्शन की जांच. |
catbox-functional-network-setting |
नेटवर्क सेटिंग के फ़ंक्शन की जांच करना. |
catbox-functional-notification |
सूचना से जुड़े फ़ंक्शन की जांच. |
catbox-functional-privacy-permission-manager |
निजता से जुड़ी सेटिंग के काम करने की पुष्टि करने वाले टेस्ट. |
catbox-functional-privacy-setting |
माइक्रोफ़ोन की सेटिंग से जुड़े फ़ंक्शन की जांच करना. |
catbox-functional-privacy-setting-ui-elements |
निजता सेटिंग की फ़ंक्शनल जांच. |
catbox-functional-profile-icon |
प्रोफ़ाइल आइकॉन बार के फ़ंक्शन की जांच करने वाले टेस्ट. |
catbox-functional-profiles-icon-list |
प्रोफ़ाइल आइकॉन की सूची के टेस्ट. |
catbox-functional-security-setting |
सुरक्षा सेटिंग की फ़ंक्शनल जांच. |
catbox-functional-setting |
फ़ंक्शनल टेस्ट सेट करना. |
catbox-functional-settings-location |
जगह की जानकारी की सेटिंग की जांच करना. |
catbox-functional-sound-setting |
आवाज़ की सेटिंग से जुड़े फ़ंक्शन की जांच करना. |
catbox-functional-status-bar |
स्टेटस बार के फ़ंक्शन की जांच. |
catbox-functional-storage-setting |
स्टोरेज की सेटिंग से जुड़े फ़ंक्शन की जांच करना. |
catbox-functional-system-setting |
सिस्टम सेटिंग के फ़ंक्शन की जांच. |
catbox-functional-systemui |
सिस्टम यूज़र इंटरफ़ेस (यूआई) की जांच. |
catbox-functional-ux-restriction |
यूएक्स रिस्ट्रिक्शन के फ़ंक्शन की जांच करने वाले टेस्ट. |
catbox-functional-ux-restriction-facet-bar |
यूएक्स रिस्ट्रिक्शन के फ़ंक्शन की जांच करने वाले टेस्ट. |
यहां दी गई टेबल में, CATBox परफ़ॉर्मेंस टेस्ट प्लान दिए गए हैं.
परफ़ॉर्मेंस टेस्ट प्लान | ब्यौरा |
---|---|
catbox-performance-cold-app-start-up-dialer |
डायल और फ़ोन ऐप्लिकेशन के कोल्ड स्टार्ट-अप की परफ़ॉर्मेंस की जांच. |
catbox-performance-cold-app-start-up-mediacenter |
Media Center के लिए, ऐप्लिकेशन के कोल्ड स्टार्ट-अप की परफ़ॉर्मेंस की जांच. |
catbox-performance-cold-app-start-up-settings |
सेटिंग के लिए, ऐप्लिकेशन के कोल्ड स्टार्ट-अप की परफ़ॉर्मेंस की जांच. |
catbox-performance-create-and-switch-to-new-guest |
नई मेहमान प्रोफ़ाइल पर स्विच करने में लगने वाले समय का आकलन करता है. |
catbox-performance-create-and-switch-to-new-user |
नॉन-एडमिन उपयोगकर्ता के तौर पर स्विच करने में लगने वाले समय का आकलन करें. |
catbox-performance-hot-app-start-up-dialer |
डायल और फ़ोन ऐप्लिकेशन के लिए, हॉट ऐप्लिकेशन स्टार्ट-अप परफ़ॉर्मेंस टेस्ट. |
catbox-performance-hot-app-start-up-mediacenter |
Media Center के लिए, ऐप्लिकेशन को तुरंत शुरू करने की परफ़ॉर्मेंस की जांच. |
catbox-performance-hot-app-start-up-settings |
सेटिंग ऐप्लिकेशन के लिए, हॉट ऐप्लिकेशन स्टार्ट-अप परफ़ॉर्मेंस टेस्ट. |
catbox-performance-jank-appgrid |
Appgrid के लिए परफ़ॉर्मेंस टेस्ट. |
catbox-performance-jank-contact-list |
संपर्कों के लिए परफ़ॉर्मेंस टेस्ट. |
catbox-performance-jank-media |
मीडिया के लिए परफ़ॉर्मेंस टेस्ट. |
catbox-performance-jank-media-switch-playback |
मीडिया स्विच करने पर, वीडियो चलाने की सुविधा की परफ़ॉर्मेंस की जांच. |
catbox-performance-jank-notifications |
सूचनाओं की परफ़ॉर्मेंस की जांच. |
catbox-performance-jank-settings |
सेटिंग के लिए परफ़ॉर्मेंस टेस्ट. |
catbox-performance-switch-to-existing-user |
इससे यह मेज़र किया जाता है कि किसी मौजूदा उपयोगकर्ता के खाते में स्विच करने में कितना समय लगता है. |
एक से ज़्यादा डिवाइसों पर होस्ट साइड टेस्ट चलाना
एक से ज़्यादा डिवाइसों पर होस्ट साइड टेस्ट को लागू करने के लिए, CATBox का इस्तेमाल किया जाता है. इससे एक ही सेशन में टेस्ट चलाया जा सकता है. उदाहरण के लिए, BTDiscoveryTest
:
make catbox
./tools/catbox-tradefed run commandAndExit catbox-functional-bluetooth-tests --{phone}serial <serial> --{auto}serial <serial> --mobly-host:mobly-par-file-name BTDiscoveryTest
CATBox, apk
को इंस्टॉल करता है. इसके बाद, टेस्ट को सही Python एक्ज़ीक्यूशन एनवायरमेंट में चलाया जाता है.
CATBox टेस्ट के नतीजों की समीक्षा करना
फ़ंक्शनल और परफ़ॉर्मेंस टेस्ट रन के नतीजे, android-catbox/results/latest
में सेव किए जाते हैं.
परिणाम प्रकार | जगह की जानकारी |
---|---|
परीक्षण के नतीजे | test_result.xml |
टेस्ट फ़ेल होने की जानकारी | test_result_failures_suite.html |
परफ़ॉर्मेंस मेट्रिक के नतीजे | /report-log-files/CatboxPerformanceTests.reportlog.json |
फ़ंक्शन और परफ़ॉर्मेंस की जांच करना | /android-catbox/logs/latest |