वाहन संबंधित, बॉक्स में तरह की जांच करें

Complete Automotive Tests in a Box (CATBox) एक ओपन सोर्स पैकेज है. यह Automotive से जुड़े टेस्ट को आसानी से पूरा करने और उन्हें लागू करने के लिए ज़रूरी फ़्रेमवर्क और टूल उपलब्ध कराता है. इसके लिए, कम से कम कॉन्फ़िगरेशन की ज़रूरत होती है. CATBox को बढ़ाया जा सकता है. साथ ही, यह उन टूल, इन्फ़्रास्ट्रक्चर, और टेस्ट के साथ काम करता है जिनका इस्तेमाल, Android Automotive OS (AAOS) के इंटिग्रेशन की जांच और पुष्टि करने के लिए किया जाता है. इस वजह से, मार्केटप्लेस को अच्छी क्वालिटी के प्रॉडक्ट उपलब्ध कराए जा सकते हैं.

CATBox को डिज़ाइन करना और लागू करना

CATBox टेस्ट सुइट, Automotive टारगेट डिवाइस पर फ़ंक्शनल और परफ़ॉर्मेंस टेस्ट करने के लिए ज़रूरी टूल, फ़्रेमवर्क, और टेस्ट उपलब्ध कराता है. साथ ही, यह कंपैनियन डिवाइस का इस्तेमाल करते समय भी ऐसा करता है.

इस इमेज में, CATBox पैकेज का हाई लेवल डिज़ाइन दिखाया गया है.

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 पैकेज को स्थानीय तौर पर बनाने के लिए:

  1. डिवाइस के आर्किटेक्चर के आधार पर, डिवाइस टारगेट चुनें. इसके बाद, यह कमांड चलाएं:

    lunch <target>
  2. CATBox बनाने के लिए, यह कमांड चलाएं:

    make catbox

    इस कमांड से, android-catbox.zip डायरेक्ट्री में android-catbox.zip फ़ाइल बनती है. इसका इस्तेमाल टेस्ट चलाने के लिए किया जा सकता है./out/host/linux-x86/catbox

एनवायरमेंट सेट अप करना

CATBox टेस्ट को चलाने के लिए, एनवायरमेंट सेटअप करने का तरीका CTS को सेट अप करने के तरीके जैसा ही होता है. एनवायरमेंट सेट अप करने के लिए, यहां दिए गए हर टास्क को पूरा करें:

CATBox को सेट अप और इस्तेमाल करना

Android डिवाइसों पर टेस्ट चलाने के लिए, Tradefed टेस्ट फ़्रेमवर्क का इस्तेमाल करें. CATBox सेट अप करने से पहले, ट्रेड फ़ेडरेशन की खास जानकारी देखें.

CATBox को सेट अप करने और चलाने के लिए, यहां दिया गया सेक्शन देखें.

डिवाइस सेट अप करना

टेस्ट प्लान चलाने से पहले, अपने डिवाइस को सेट अप करने के लिए यह तरीका अपनाएं:

  1. पक्का करें कि आपने Android Debug Bridge (adb) और Android Asset Packaging Tool (AAPT), दोनों के नए वर्शन इंस्टॉल किए हों. साथ ही, आपने इन टूल की जगह को अपनी मशीन के सिस्टम पाथ में जोड़ा हो. ज़्यादा जानकारी के लिए, ADB और AAPT देखें.

  2. कम से कम एक डिवाइस कनेक्ट करें और टेस्ट किए जाने वाले डिवाइस (डीयूटी) को इस तरह तैयार करें:

    1. ऑटोमोटिव डिवाइस को फ़ैक्ट्री रीसेट करने के लिए, सेटिंग > सिस्टम > रीसेट करने के विकल्प > पूरा डेटा मिटाएं पर जाएं.

    2. डिवाइस के अपने-आप रीस्टार्ट होने का इंतज़ार करें.

    3. पक्का करें कि adb चालू हो. यह पुष्टि करने के लिए कि डिवाइस उपलब्ध है, यह निर्देश चलाएं:

      adb devices
    4. रूट को चालू करने के लिए, यह कमांड चलाएं:

      adb -s DEVICE_SERIAL root

      DEVICE_SERIAL की जगह, ऑटोमोटिव डिवाइस का सीरियल आईडी डालें.

    5. वाई-फ़ाई से कनेक्ट करें.

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