Complete Automotive Tests in a Box (CATBox) एक ओपन सोर्स पैकेज है. यह Automotive टेस्ट को आसानी से पूरा करने और उन्हें लागू करने के लिए ज़रूरी फ़्रेमवर्क और टूल उपलब्ध कराता है. इसके लिए, कम से कम कॉन्फ़िगरेशन की ज़रूरत होती है. CATBox को बढ़ाया जा सकता है. साथ ही, यह उन टूल, इन्फ़्रास्ट्रक्चर, और टेस्ट के साथ काम करता है जिनका इस्तेमाल, Android Automotive OS (AAOS) के इंटिग्रेशन की जांच और पुष्टि करने के लिए किया जाता है. इस वजह से, मार्केटप्लेस को अच्छी क्वालिटी के प्रॉडक्ट उपलब्ध कराए जा सकते हैं.
CATBox को डिज़ाइन करना और उसे लागू करना
CATBox टेस्ट सुइट, Automotive टारगेट डिवाइस पर फ़ंक्शनल और परफ़ॉर्मेंस टेस्ट करने के लिए ज़रूरी टूल, फ़्रेमवर्क, और टेस्ट उपलब्ध कराता है. साथ ही, यह कंपैनियन डिवाइस का इस्तेमाल करते समय भी ऐसा करता है.
इस इमेज में, CATBox पैकेज का हाई लेवल डिज़ाइन दिखाया गया है.
पहली इमेज. CATBox पैकेज
Tradefed
Tradefed एक ओपन सोर्स कंटीन्यूअस टेस्टिंग फ़्रेमवर्क है. इसका इस्तेमाल Android डिवाइसों पर टेस्ट करने के लिए किया जाता है. ज़्यादा जानकारी के लिए, ट्रेड फ़ेडरेशन की खास जानकारी देखें.
ऑटोमोटिव टेस्ट फ़्रेमवर्क
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इस कमांड से,
/out/host/linux-x86/catboxडायरेक्ट्री मेंandroid-catbox.zipफ़ाइल बनती है. इसका इस्तेमाल टेस्ट चलाने के लिए किया जा सकता है.
एनवायरमेंट सेट अप करना
CATBox टेस्ट चलाने के लिए, एनवायरमेंट सेटअप करने का तरीका CTS सेट अप करने के तरीके जैसा ही है. एनवायरमेंट सेट अप करने के लिए, ये टास्क पूरे करें:
ADB और AAPT इंस्टॉल करें.
JDK इंस्टॉल करें. Ubuntu के लिए Java डेवलपमेंट किट देखें.
मेमोरी की सीमा बढ़ाएं. स्टोरेज की ज़रूरी शर्तें देखें.
CATBox को सेट अप और इस्तेमाल करना
Android डिवाइसों पर टेस्ट चलाने के लिए, Tradefed टेस्ट फ़्रेमवर्क का इस्तेमाल करें. CATBox सेट अप करने से पहले, Trade Federation की खास जानकारी देखें.
CATBox को सेट अप करने और चलाने के लिए, यहां दिए गए सेक्शन देखें.
डिवाइस सेट अप करना
टेस्ट प्लान चलाने से पहले, अपने डिवाइस को सेट अप करने के लिए यह तरीका अपनाएं:
पक्का करें कि आपने Android डीबग ब्रिज (adb) और Android ऐसेट पैकेजिंग टूल (AAPT), दोनों के नए वर्शन इंस्टॉल किए हों. साथ ही, इन टूल की जगह को अपनी मशीन के सिस्टम पाथ में जोड़ा हो. ज़्यादा जानकारी के लिए, ADB और AAPT देखें.
कम से कम एक डिवाइस कनेक्ट करें और जांच किए जा रहे डिवाइस (DUT) को इस तरह तैयार करें:
ऑटोमोटिव डिवाइस को फ़ैक्ट्री रीसेट करने के लिए, सेटिंग > सिस्टम > रीसेट करने के विकल्प > पूरा डेटा मिटाएं पर जाएं.
डिवाइस के अपने-आप रीस्टार्ट होने का इंतज़ार करें.
पक्का करें कि adb चालू हो. यह पुष्टि करने के लिए कि डिवाइस उपलब्ध है, यह कमांड चलाएं:
adb devicesरूट को चालू करने के लिए, यह कमांड चलाएं:
adb -s DEVICE_SERIAL rootDEVICE_SERIALकी जगह, वाहन में लगे डिवाइस का सीरियल आईडी डालें.वाई-फ़ाई से कनेक्ट करें.
CATBox पैकेज को एक्सट्रैक्ट करें
डिवाइस सेट अप करने के बाद, CATBox पैकेज को अनज़िप करें और निकाले गए फ़ोल्डर पर जाएं:
unzip android-catbox.zip
cd android-catboxCATBox में टेस्ट चलाना
CATBox पैकेज में मौजूद टेस्ट प्लान के साथ CATBox चलाने के लिए:
./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIALDEVICE_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 |
मीडिया सेंटर के फ़ंक्शन की जांच. |
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 BTDiscoveryTestCATBox, 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 |