Complete Automotive Tests in a Box (CATBox) एक ओपन सोर्स पैकेज है. इसमें कम से कम कॉन्फ़िगरेशन के साथ, वाहनों की जांच को आसान बनाने और उसे पूरा करने के लिए ज़रूरी फ़्रेमवर्क और टूल उपलब्ध होते हैं. CATBox को स्केल किया जा सकता है. साथ ही, यह उन टूल, इन्फ़्रास्ट्रक्चर, और जांचों के साथ काम करता है जिनका इस्तेमाल, Android Automotive OS (AAOS) को लागू करने की जांच और पुष्टि करने के लिए किया जाता है. इसकी मदद से, मार्केटप्लेस पर अच्छी क्वालिटी के प्रॉडक्ट उपलब्ध कराए जा सकते हैं.
CATBox का डिज़ाइन और उसे लागू करना
CATBox टेस्ट सुइट में, वाहन से जुड़े टारगेट डिवाइस और साथ में काम करने वाले डिवाइस पर, फ़ंक्शन और परफ़ॉर्मेंस की जांच करने के लिए ज़रूरी टूल, फ़्रेमवर्क, और टेस्ट मौजूद होते हैं.
इस इमेज में, CATBox पैकेज का हाई लेवल डिज़ाइन दिखाया गया है.
पहली इमेज. CATBox पैकेज
Tradefed
Tradefed, ओपन सोर्स वाला एक ऐसा फ़्रेमवर्क है जिसका इस्तेमाल, Android डिवाइसों पर टेस्ट करने के लिए किया जाता है. ज़्यादा जानकारी के लिए, ट्रेड फ़ेडरेशन की खास जानकारी देखें.
वाहन की जांच करने के लिए फ़्रेमवर्क
CATBox, Spectatio नाम के वाहन से जुड़े टेस्ट फ़्रेमवर्क पर आधारित है. यह वाहन से जुड़े डिवाइसों पर, अलग-अलग ऐप्लिकेशन की जांच करने के लिए एपीआई उपलब्ध कराता है. इसे यूआई ऑटोमेट के ऊपर बनाया गया है. यह एक ओपन सोर्स टेस्टिंग फ़्रेमवर्क है. इसमें यूज़र और सिस्टम ऐप्लिकेशन के साथ इंटरैक्ट करने वाले यूआई टेस्ट बनाने के लिए, एपीआई का एक सेट उपलब्ध कराया जाता है.
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 टेस्ट सुइट डाउनलोड करने के लिए, इन लिंक का इस्तेमाल करें:
Build CATBox
जब Android AOSP कोड, लोकल वर्कस्टेशन पर उपलब्ध हो, तो catbox
बिल्ड कमांड का इस्तेमाल करें.
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 सेट अप करने से पहले, ट्रेड फ़ेडरेशन की खास जानकारी देखें.
CATBox को सेट अप और चलाने के लिए, नीचे दिए गए सेक्शन देखें.
डिवाइस को सेट अप करना
टेस्ट प्लान चलाने से पहले, अपना डिवाइस सेट अप करने के लिए यह तरीका अपनाएं:
पक्का करें कि आपने Android Debug Bridge (adb) और Android एसेट पैकेजिंग टूल (AAPT), दोनों के नए वर्शन इंस्टॉल किए हों. साथ ही, इन टूल की जगह को अपनी मशीन के सिस्टम पाथ में जोड़ा हो. ज़्यादा जानकारी के लिए, ADB और AAPT देखें.
कम से कम एक डिवाइस कनेक्ट करें और जांचे जा रहे डिवाइस (DUT) को इस तरह से तैयार करें:
वाहन से जुड़े डिवाइस को फ़ैक्ट्री सेटिंग पर रीसेट करने के लिए, सेटिंग > सिस्टम > रीसेट करने के विकल्प > सारा डेटा मिटाएं पर जाएं.
डिवाइस के अपने-आप रीस्टार्ट होने का इंतज़ार करें.
पक्का करें कि 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 |
यूज़र एक्सपीरियंस (UX) से जुड़ी पाबंदी की फ़ंक्शनल टेस्ट. |
यहां दी गई टेबल में, CATBox के परफ़ॉर्मेंस टेस्ट प्लान की सूची दी गई है.
परफ़ॉर्मेंस टेस्ट प्लान | ब्यौरा |
---|---|
catbox-performance-cold-app-start-up-dialer |
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 |
Dialer और Phone के लिए, ऐप्लिकेशन के तुरंत शुरू होने की परफ़ॉर्मेंस की जांच. |
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 |