सीटीएस की पुष्टि करने वाले टूल के मल्टी-डिवाइस टेस्ट चलाना

इस पेज पर, Android 16 QPR2 या इसके बाद के वर्शन के लिए, Better Together CTS Verifier (CTS-V) टेस्ट का इस्तेमाल करने के निर्देश दिए गए हैं.

होस्ट-साइड पर कई डिवाइसों पर टेस्ट सेट अप करना

इस सेक्शन में, एक से ज़्यादा डिवाइसों पर टेस्ट सेट अप करने का तरीका बताया गया है.

  1. पुष्टि करें कि आपका डेस्कटॉप कंप्यूटर, CTS के लिए ऑपरेटिंग सिस्टम से जुड़ी ज़रूरी शर्तें पूरी करता हो.
  2. डेस्कटॉप सॉफ़्टवेयर इंस्टॉल करें लेख में दिए गए दूसरे और पांचवें चरण को अपनाकर, adb, AAPT2, और Python को इंस्टॉल करें. साथ ही, पुष्टि करें कि ये आपके डेस्कटॉप पर सही तरीके से इंस्टॉल हो गए हैं.

    • आपके पास Python 3.11 या इसके बाद का वर्शन होना चाहिए. Python का वर्शन पता करने के लिए, python3 --version चलाएं. अगर वर्शन 3.11 से कम है, तो Python का नया आधिकारिक वर्शन इंस्टॉल करें. ज़्यादा जानकारी के लिए, python.org के डाउनलोड सेक्शन पर जाएं.
    • कुछ टेस्ट के लिए, होस्ट में Python venv मॉड्यूल होना ज़रूरी है. Debian और Ubuntu सिस्टम पर, यह मॉड्यूल डिफ़ॉल्ट रूप से इंस्टॉल नहीं होता. यह पता लगाने के लिए कि आपके Python वर्शन में venv मॉड्यूल है या नहीं, python3 -m venv venv चलाएं. अगर यह कमांड काम नहीं करती है, तो गड़बड़ी का मैसेज दिखता है. python3.x-venv पैकेज इंस्टॉल करने के लिए दिए गए निर्देश का पालन करें.
  3. टेस्ट किए जाने वाले दो डिवाइस (डीयूटी) तैयार करें. दोनों में CTS-V सेट अप होना चाहिए.

    • DUT सेट अप करने के बारे में जानकारी के लिए, DUT सेट अप करना लेख पढ़ें.
    • CTS-V को सेट अप करने के निर्देशों के लिए, सेटअप लेख पढ़ें.
  4. अपने टेस्ट टाइप के लिए, सेटअप सेक्शन पर जाएं:

    अगर आपका टेस्ट इस सूची में नहीं है, तो दो डिवाइसों पर स्टैंडर्ड टेस्ट सेट अप करें पर जाएं

एनएफ़सी टेस्ट सेट अप करना

एनएफ़सी टेस्ट में, एक DUT और एक PN532 एनएफ़सी चिप का इस्तेमाल किया जाता है.

एनएफ़सी टेस्ट सेट अप करने के लिए:

  1. PN532 एनएफ़सी चिप खरीदें. हमारा सुझाव है कि आप All-In-One PN532 का इस्तेमाल करें.
  2. DUT पर, Settings ऐप्लिकेशन पर जाएं.

  3. एनएफ़सी चालू करें.

  4. एनएफ़सी चिप को इस तरह रखें:

    • फ़ोन के लिए, DUT के NFC रीडर को पहली इमेज में दिखाए गए तरीके से रखें:

      एनएफ़सी चिप की जगह

      पहली इमेज. एनएफ़सी चिप की जगह.

    • अन्य डिवाइसों के लिए, चिप को डिवाइस के एनएफ़सी ऐंटीना के बगल में रखें.

  5. यूएसबी केबल का इस्तेमाल करके, PN532 एनएफ़सी चिप को अपने टेस्टिंग वर्कस्टेशन से अटैच करें.

ज़रूरी नहीं: वाई-फ़ाई एपी कनेक्शन की जांच सेट अप करना

वाई-फ़ाई ऐक्सेस पॉइंट (एपी) कनेक्शन टेस्ट (CtsWifiConnectionTests) से, DUT और एपी के बीच कनेक्टिविटी की जाँच की जाती है. हमारा सुझाव है कि आप इन टेस्ट को चलाएं. हालांकि, CTS-V Android 16 16 QPR2 में इनकी ज़रूरत नहीं है.

इन टेस्ट के लिए, DUT और OpenWrt Banana Pi R3 AP की ज़रूरत होती है.

वाई-फ़ाई एपी कनेक्शन की जांच करने के लिए:

  1. इस टेबल में दिए गए Banana Pi R3 AP और ऐक्सेसरी खरीदें:

    आइटम संख्या
    BPi-R3 बोर्ड, Banana Pi BPI-R3 Router Board with MediaTek MT7986 chip design support Wi-Fi 6 ,2G DDR RAM ,8G eMMC flash onboard के जैसा है 1
    BPi-R3 एल्युमिनियम केस, BPI-R3 आयरन केस जैसा ही है 1
    BPi-R3 एल्युमिनियम हीटसिंक (कूलिंग फ़ैन), BPI-R3 एल्युमिनियम हीटसिंक वाले फ़ैन की तरह 1
    केबल के साथ 2 और 5 गीगाहर्ट्ज़ वाला ऐंटीना, जो BPI की दुकान में मौजूद 5DB ऐंटीना जैसा हो 8
    पावर अडैप्टर, 12V/2A डीसी पावर सप्लाई के जैसा 1

    खरीदारी करने के लिए, Banana Pi BPI-R3 पेज पर खरीदना आसान है सेक्शन देखें.

  2. ऐक्सेस पॉइंट सेट अप करें. ऐक्सेस पॉइंट सेट अप करने के बारे में जानकारी के लिए, Banana Pi BPI-R3 AP सेट अप करना लेख पढ़ें.

  3. ज़रूरी नहीं: अगर आपके पास शील्ड बॉक्स नहीं है, तो हमारा सुझाव है कि आप JTP-SR101 शील्ड बॉक्स का इस्तेमाल करें. इस बॉक्स को खरीदने के लिए, यहां दी गई जानकारी का इस्तेमाल करें:

    Dong Guan Zheng Sheng Electronics Technology Co., LTD
    Bohui Industrial Park, Panlong Road, Liaobu Town, Dongguan City, Guangdong Province, China
    संपर्क करें: फ़ॉरेस्ट पैन
    ईमेल: forest.pan@jtpmak.cn
    फ़ोन (चीन): +86 18676993556

  4. DUT और AP को होस्ट से कनेक्ट करें और उन्हें आरएफ़ शील्ड बॉक्स में रखें. DUT और AP के बीच कम से कम 10 सेंटीमीटर की दूरी होनी चाहिए. दूसरी इमेज में, इस कॉन्फ़िगरेशन को दिखाया गया है:

    शील्ड बॉक्स में DUT और AP

    दूसरी इमेज. शील्ड बॉक्स में DUT और AP.

  5. एसएसएच का इस्तेमाल करके पुष्टि करें कि होस्ट से एपी को ऐक्सेस किया जा सकता है.

दो डिवाइसों पर स्टैंडर्ड टेस्ट सेट अप करना

दो डिवाइसों के डिफ़ॉल्ट सेटअप के लिए:

  1. एक जैसे दो Android DUT को एक-दूसरे से करीब 20 से॰मी॰ की दूरी पर रखें.
  2. साफ़-सुथरा एनवायरमेंट सेट अप करने के लिए, दोनों डिवाइसों को शील्ड बॉक्स में रखें.

  3. ज़रूरी नहीं: वाई-फ़ाई डीबग करने के लिए, ओटीए स्निफ़र सेट अप करें.

सीडीएम टेस्ट सेट अप करना

test_permissions_sync() टेस्ट केस का व्यवहार अलग-अलग होता है. यह इस बात पर निर्भर करता है कि टेस्ट को किन डिवाइसों पर चलाया जा रहा है. यह ज़रूरी है कि ओईएम, डीबग किए जा सकने वाले (userdebug या eng) और डीबग न किए जा सकने वाले (user) दोनों बिल्ड की जांच करें. साथ ही, यह भी ज़रूरी है कि दोनों बिल्ड के लिए टेस्ट पास हो जाएं.

छूट

अनुमतियों को सिंक करने वाले एपीआई को लागू करने के लिए, सीडीडी क्लॉज़ के तहत सिर्फ़ यह ज़रूरी है कि वह सुरक्षित चैनल के ज़रिए, डिवाइसों के बीच डेटा को ट्रांसफ़र कर सके. सुरक्षित चैनल को लागू करना, सीडीडी के नियमों का पालन करने के लिए ज़रूरी नहीं है. इसलिए, इस टेस्ट को ऐसी बिल्ड पर स्किप किया जा सकता है जिन्हें डीबग नहीं किया जा सकता. हालांकि, ऐसा सिर्फ़ तब किया जा सकता है, जब आपको सीडीएम की अनुमतियों को सिंक करने की सुविधा का इस्तेमाल नहीं करना हो.

डीबग की जा सकने वाली बिल्ड पर, सभी टेस्ट पास होने चाहिए.

डीबग नहीं की जा सकने वाली बिल्ड पर टेस्टिंग के लिए ज़रूरी शर्तें

अगर आपको छूट से जुड़े पिछले नियमों के तहत छूट नहीं मिली है, तो पुष्टि करें कि आपने यहां दी गई ज़रूरी शर्तें पूरी की हों.

सुरक्षित चैनल, हार्डवेयर की भरोसेमंद होने की पुष्टि करने के लिए AVF (AttestationVerificationFramework) का इस्तेमाल करता है. दोनों पक्षों की ओर से जनरेट किए गए अटेस्टेशन में, उनके बारे में कई तरह की जानकारी शामिल होती है. इससे यह पक्का किया जाता है कि उनके सिस्टम में बिना अनुमति के कोई बदलाव नहीं किया गया है. पुष्टि की प्रोसेस के दौरान, AVF इन स्थितियों की जांच करता है:

  • डिवाइस में इंटरनेट का ऐक्सेस हो
  • डिवाइस में पुष्टि किए गए बूट का इस्तेमाल किया जाता है. साथ ही, बिल्ड को रिलीज़-की से साइन किया जाना चाहिए, न कि देव-की से
  • डिवाइस का बूटलोडर लॉक है. ज़्यादा जानकारी के लिए, बूटलोडर लॉक करना लेख पढ़ें
  • ओएस, की बूट, और की वेंडर पैच लेवल 12 महीनों के अंदर के हों. एक साल से पुराने बिल्ड का इस्तेमाल न करें
  • डिवाइस की पुष्टि, वेंडर से मंज़ूरी पाए रूट सर्टिफ़िकेट में से किसी एक के ज़रिए की जाती है. vendor_required_attestation_certificates.xml रिसॉर्स ओवरले में, अपने भरोसेमंद रूट सर्टिफ़िकेट के बारे में बताएं.

होस्ट-साइड पर एक से ज़्यादा डिवाइसों पर टेस्ट चलाना (AOSP 16 या इसके बाद का वर्शन)

CTS Verifier 16 में, होस्ट-साइड मल्टीडिवाइस टेस्ट के लिए सहायता जोड़ी गई है. इन जांचों को डिवाइस पर मैन्युअल तरीके से करने के बजाय, होस्ट पर ऑटोमेटेड स्क्रिप्ट का इस्तेमाल करके किया जा सकता है. हर जांच पूरी होने के बाद, नतीजे DUT पर अपने-आप अपलोड हो जाते हैं. साथ ही, ये CTS Verifier ऐप्लिकेशन में दिखते हैं.

इस सेक्शन में, होस्ट-साइड पर मल्टीडिवाइस टेस्ट चलाने का तरीका बताया गया है.

एक से ज़्यादा डिवाइसों पर टेस्ट चलाना

एक से ज़्यादा डिवाइसों पर टेस्ट चलाने के लिए:

  1. अपने टेस्ट वर्कस्टेशन पर, उस डायरेक्ट्री से cts-v-host कंसोल लॉन्च करें जहां CTS-V ज़िप पैकेज को अनज़िप किया गया था:

    ./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefed
    
  2. DUT पर CTS Verifier ऐप्लिकेशन में जाकर, होस्ट-साइड टेस्ट पर क्लिक करें. तीसरी इमेज में, CTS Verifier ऐप्लिकेशन में होस्ट-साइड टेस्ट दिखाए गए हैं:

    CTS Verifier ऐप्लिकेशन में होस्ट-साइड मल्टीडिवाइस टेस्ट

    तीसरी इमेज. CTS Verifier ऐप्लिकेशन में, होस्ट-साइड मल्टीडिवाइस टेस्ट.

    टेस्ट होस्ट-साइड मल्टीडिवाइस टेस्ट मॉड्यूल की सूची दिखती है.

  3. उस टेस्ट मॉड्यूल का नाम पता करें जिसे आपको चलाना है. उदाहरण के लिए, CompanionDeviceManager मॉड्यूल को CtsCompanionDeviceManagerMultiDeviceTestCases के तौर पर लिस्ट किया गया है.

  4. cts-v-host कंसोल में, यह कमांड चलाएं:

    run cts-v-host -m test_module_name
    

    उदाहरण के लिए:

    run cts-v-host -m CtsCompanionDeviceManagerMultiDeviceTestCases
    

    xTS कंसोल में टेस्ट पूरे होने के बाद, नतीजे CTS Verifier ऐप्लिकेशन में दिखते हैं. हरे रंग से मार्क किए गए टेस्ट पास हो गए हैं. लाल रंग से मार्क की गई जांचें पूरी नहीं हो सकीं. चौथे फ़िगर में, CtsCompanionDeviceManager टेस्ट के नतीजों का उदाहरण दिखाया गया है:

    CTS Verifier ऐप्लिकेशन में, होस्ट-साइड पर मल्टीडिवाइस टेस्ट के नतीजे

    चौथी इमेज. CTS Verifier ऐप्लिकेशन में, होस्ट-साइड मल्टीडिवाइस टेस्ट के नतीजे.

ज़रूरी नहीं: वाई-फ़ाई एपी कनेक्शन की जांच करना

वाई-फ़ाई एपी कनेक्शन की जांच करने के लिए, यह तरीका अपनाएं:

  1. टेस्टबेड कॉन्फ़िगरेशन फ़ाइल (WifiConnectionTestbed.yaml) में बदलाव करें. यह फ़ाइल उस डायरेक्ट्री में होती है जहां CTS-Verifier को अनज़िप किया गया है:

    ./android-cts-verifier/android-cts-v-host/testcases/CtsWifiConnectionTests/x86_64/connection/WifiConnectionTestbed.yaml
    
  2. hostname फ़ील्ड की वैल्यू को AP के आईपी पते में बदलें. यह बदलाव, आपकी स्थानीय एसएसएच सेटिंग के आधार पर किया जाएगा. आईपी पते की पहचान करने के लिए, एपी का आईपी पता ढूंढना लेख पढ़ें.

    इस उदाहरण में, WifiConnectionTestbed.yaml फ़ाइल में hostname फ़ील्ड की जगह दिखाई गई है:

    TestBeds:
    - Name: WifiConnectionTestbed
      Controllers:
        # Specify settings for the AP.
        OpenWrtDevice:
        - hostname: AP-IP
          skip_init_reboot: True
    
  3. cts-v-host कंसोल में, यह कमांड चलाएं:

    run everything -m CtsWifiConnectionTests
    

एक से ज़्यादा डिवाइसों पर किए जाने वाले टेस्ट से जुड़ी समस्याएं हल करना

इस सेक्शन में, संभावित समस्याओं को हल करने के बारे में बताया गया है.

एनएफ़सी टेस्ट के दौरान, GetFirmwareVersion के लिए कोई जवाब नहीं मिलने की समस्या ठीक की गई

अगर आपको एक से ज़्यादा डिवाइसों पर टेस्ट चलाते समय verify_firmware_version RuntimeError: No response for GetFirmwareVersion मैसेज मिलता है, तो इसका मतलब है कि टेस्ट, PN532 NFC बोर्ड को ऐक्सेस नहीं कर सकते.

इस समस्या को ठीक करने के लिए, अपने होस्ट पर PN532 NFC बोर्ड के लिए इस्तेमाल किए गए सीरियल पाथ का पता लगाएं. जैसे, dev/ttyUSB1. इसके बाद, कंसोल में --module-arg आर्ग्युमेंट का इस्तेमाल करके, इसे मैन्युअल तरीके से सेट करें:

run cts-v-host -m CtsNfcHceMultiDeviceTestCases --module-arg CtsNfcHceMultiDeviceTestCases:pn532_serial_path:/dev/ttyUSB1

एनएफ़सी टेस्ट के दौरान, लेन-देन पूरा न होने से जुड़ी गड़बड़ी के मैसेज को ठीक करना

अगर आपको सभी एनएफ़सी टेस्ट केस के लिए Transaction failed, check device logs for more information. मैसेज मिलता है, तो ऐसा इसलिए हो सकता है, क्योंकि DUT का एनएफ़सी चिप, PN532 का पता नहीं लगा सकता.

अगर आपने होस्ट से कई डिवाइस कनेक्ट किए हैं और उनमें से कुछ पर PN532 नहीं रखा गया है, तो हो सकता है कि गलत DUT चुना गया हो. ज़्यादा जानकारी के लिए, एनएफ़सी टेस्ट सेट अप करना लेख पढ़ें.

इस समस्या को ठीक करने के लिए, इनमें से कोई एक तरीका अपनाएं:

  • -s फ़्लैग का इस्तेमाल करके, होस्ट-साइड टेस्ट कमांड में DUT का सही सीरियल नंबर सेट करें.

  • होस्ट से, DUT के अलावा सभी डिवाइसों को डिसकनेक्ट करें.

सीडीएम टेस्ट केस test_permissions_sync को अनदेखा किया गया है

अगर टेस्ट, ऐसे डिवाइसों पर चलाया जा रहा है जिन पर डीबग नहीं किया जा सकता, तो देखें कि क्या आपको छूट मिली है. अगर ऐसा नहीं है, तो पुष्टि करें कि दोनों डिवाइस ज़रूरी शर्तें पूरी करते हों.