CTS-V टेस्ट चलाएं

Android Compatibility Test Suite Verifier (CTS Verifier), Compatibility Test Suite (CTS) का पूरक है. सीटीएस में, ऐसे एपीआई और फ़ंक्शन की जांच की जाती है जिन्हें अपने-आप किया जा सकता है. वहीं, सीटीएस वेरिफ़ायर में, ऐसे एपीआई और फ़ंक्शन की जांच की जाती है जिन्हें मैन्युअल इनपुट या पोज़िशनिंग के बिना, एक जगह पर रखे गए डिवाइस पर टेस्ट नहीं किया जा सकता. जैसे, ऑडियो क्वालिटी, टचस्क्रीन, ऐक्सिलरोमीटर, और कैमरा.

ज़रूरी शर्तें

CTS Verifier चलाने से पहले, पक्का करें कि आपके पास ये उपकरण हों:

  • ऐसा Android डिवाइस जिसने सीटीएस पास करके, Android API के साथ काम करने की पुष्टि की हो. यह टेस्ट किया जा रहा डिवाइस (डीयूटी) है.
  • Linux कंप्यूटर, जिसमें यूएसबी 2.0 के साथ काम करने वाला पोर्ट हो. DUT से जुड़े सभी कनेक्शन, इस पोर्ट से होते हैं.
  • दूसरा Android डिवाइस, जो ब्लूटूथ, Wi-Fi Direct, Wi-Fi Aware, UWB (अगर DUT में UWB की सुविधा काम करती है), और NFC होस्ट कार्ड इम्यूलेशन (HCE) के साथ काम करता हो.
  • ऐक्सेस पॉइंट के नाम और पासवर्ड के साथ कॉन्फ़िगर किया गया वाई-फ़ाई राऊटर. राउटर को इंटरनेट से डिसकनेक्ट किया जाना चाहिए, लेकिन उसे बंद नहीं किया जाना चाहिए.

यह भी पक्का करें कि आपने यूडब्ल्यूबी, वाई-फ़ाई एनएएन, और ब्लूटूथ आरएसएसआई के लिए, दूरी (नज़दीकी) मापने वाले टेस्ट के लिए ट्राइपॉड, डिवाइस होल्डर, और पहले से मापी गई दूरियां तैयार कर ली हों. ज़्यादा जानकारी के लिए, उपयोगकर्ता की मौजूदगी का पता लगाने की सुविधा को कैलिब्रेट करना लेख पढ़ें.

एनएफ़सी की जांच के लिए यूआईसीसी की ज़रूरी शर्तें

CTS Verifier में, NFC के लिए ये टेस्ट केस उपलब्ध हैं:

  • फ़ील्ड-ऑफ़ (0x54 से लेन-देन के डेटा का इस्तेमाल करता है)
  • अनचेक करें (0x52 से लेन-देन के डेटा का इस्तेमाल करता है)
  • एचसीआई कमांड (0025000000) (0x02 से लेन-देन के डेटा का इस्तेमाल करता है)

लेन-देन वाले इवेंट की जांच करने के लिए, दो डिवाइसों की ज़रूरत होती है. इनमें से एक डिवाइस में SecureElement UICC होना चाहिए. साथ ही, इसमें ऐक्सेस करने से जुड़े ये नियम लागू होने चाहिए:

  • CtsVerifier APK का हैश: 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
  • एनएफ़सी इवेंट को ऐक्सेस करने के लिए, अधिकृत ऐप्लिकेशन आइडेंटिफ़ायर (एआईडी): 0xA000000476416E64726F696443545341

एम्युलेटर पर, हमें उम्मीद है कि लेन-देन वाला इवेंट, उससे जुड़ी गतिविधि को फ़ोरग्राउंड में ले जाएगा.

सेटअप

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

  1. Settings खोलें.
  2. सिस्टम > हाथ के जेस्चर > सिस्टम नेविगेशन पर जाएं.
  3. अगर उपलब्ध हो, तो बटन पर आधारित कोई भी नेविगेशन मोड चुनें. हालांकि, तीन बटन वाला मोड चुनने का सुझाव दिया जाता है.

CTS Verifier का टेस्टिंग एनवायरमेंट सेट अप करने के लिए:

  1. Linux कंप्यूटर पर:

    • CTS Verifier इंस्टॉल करने से पहले, यहां दिया गया निर्देश चलाएं, ताकि गैर-SDK इंटरफ़ेस को ऐक्सेस किया जा सके.

      adb shell settings put global hidden_api_policy 1
      
    • Android Studio इंस्टॉल करें.

    • जांच के लिए, Android के वर्शन के हिसाब से CTS Verifier APK डाउनलोड करें.

  2. DUT को Linux कंप्यूटर से कनेक्ट करें.

  3. Linux कंप्यूटर पर मौजूद टर्मिनल से, DUT पर CtsVerifier.apk इंस्टॉल करें.

    adb install -r -g CtsVerifier.apk
    
  4. Android 10 और इसके बाद के वर्शन के लिए, ऐप्लिकेशन को रिपोर्ट बनाने की अनुमति देने के लिए, यह कमांड चलाएं.

    adb shell appops set com.android.cts.verifier android:read_device_identifiers allow
    
  5. Android 11 और इसके बाद के वर्शन के लिए, यहां दिया गया कमांड चलाएं. इससे रिपोर्ट को डिवाइस की बाहरी टॉप-लेवल डायरेक्ट्री में, खुद तय की गई डायरेक्ट्री में सेव करने की अनुमति मिलती है.

    adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0
    
  6. Android 13 और इसके बाद के वर्शन के लिए, CTS Verifier को टेस्ट एपीआई ऐक्सेस करने की अनुमति देने के लिए, यह कमांड चलाएँ.

    adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier
    
  7. Android 14 और उसके बाद के वर्शन के लिए, ऐप्लिकेशन को स्क्रीन चालू करने की अनुमति देने के लिए, यह कमांड चलाएँ.

    adb shell appops set com.android.cts.verifier TURN_SCREEN_ON 0
    
  8. पक्का करें कि DUT में सिस्टम की तारीख और समय सही तरीके से सेट किया गया हो.

सीटीएस वेरिफ़ायर चलाएं

DUT पर CTS Verifier आइकॉन पर टैप करके, CTS Verifier ऐप्लिकेशन लॉन्च करें.

लॉन्चर में CTS Verifier का आइकॉन

पहली इमेज. सीटीएस वेरिफ़ायर का आइकॉन

ऐप्लिकेशन में, मैन्युअल तरीके से पुष्टि करने के लिए उपलब्ध कई टेस्ट सेट दिखाए जाते हैं.

सीटीएस की पुष्टि करने वाले टूल के टेस्ट का मेन्यू

दूसरी इमेज. सीटीएस की पुष्टि करने वाले टूल के टेस्ट का मेन्यू

हर टेस्ट में, स्क्रीन पर सबसे नीचे कुछ सामान्य एलिमेंट होते हैं.

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

तीसरी इमेज. टेस्ट स्क्रीन, जिसमें सामान्य टेस्ट एलिमेंट हाइलाइट किए गए हैं

  • पास (✓). अगर DUT, जानकारी वाले निर्देशों के मुताबिक टेस्ट की ज़रूरी शर्तें पूरी करता है, तो इस पर टैप करें.
  • जानकारी (?). टेस्ट के निर्देश देखने के लिए टैप करें. यह पहली बार टेस्ट खोलने पर अपने-आप भी दिखता है.
  • फ़ेल (!). अगर डीयूटी, जानकारी में दिए गए निर्देशों के मुताबिक टेस्ट की ज़रूरी शर्तें पूरी नहीं करता है, तो इस पर टैप करें.

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

Android 8.0 और उसके बाद के वर्शन के लिए, यूएसबी ऐक्सेसरी मोड की जांच करना

सीटीएस की पुष्टि करने वाले टूल की यूएसबी ऐक्सेसरी की जांच

चौथी इमेज. Android 8.0 और इसके बाद के वर्शन के लिए, यूएसबी ऐक्सेसरी की जांच करने की प्रक्रिया

सीटीएस की पुष्टि करने वाले टूल की यूएसबी ऐक्सेसरी की जांच

पांचवीं इमेज. Android 8.0 और इसके बाद के वर्शन के लिए, यूएसबी ऐक्सेसरी मोड की टेस्टिंग

7.x और इससे पहले के वर्शन के लिए, यूएसबी ऐक्सेसरी मोड की जांच करना

यूएसबी ऐक्सेसरी की जांच करने के लिए, Linux कंप्यूटर की ज़रूरत होती है. इससे यूएसबी डेस्कटॉप मशीन (होस्ट) प्रोग्राम चलाया जा सकता है.

  1. DUT को Linux कंप्यूटर से कनेक्ट करें.
  2. कंप्यूटर पर, CTS Verifier पैकेज से cts-usb-accessory प्रोग्राम चलाएं:

    ./cts-usb-accessory
  3. डीयूटी पर पॉप-अप मैसेज दिखने का इंतज़ार करें. इसके बाद, ठीक है को चुनें.
    सीटीएस की पुष्टि करने वाले टूल की यूएसबी ऐक्सेसरी की जांच

    छठी इमेज. यूएसबी ऐक्सेसरी की जांच

  4. DUT पर CTS Verifier ऐप्लिकेशन में, USB Accessory Test पर जाएं.

  5. कंप्यूटर पर, कंसोल से मिले आउटपुट की समीक्षा करें. आउटपुट का उदाहरण:

    CTS USB Accessory Tester
    Found possible Android device (413c:2106) - attempting to switch to accessory
    mode...
    Failed to read protocol versionfigure3
    Found Android device in accessory mode (18d1:2d01)...
    [RECV] Message from Android device #0
    [SENT] Message from Android accessory #0
    [RECV] Message from Android device #1
    [SENT] Message from Android accessory #1
    [RECV] Message from Android device #2
    [SENT] Message from Android accessory #2
    [RECV] Message from Android device #3
    [SENT] Message from Android accessory #3
    [RECV] Message from Android device #4
    [SENT] Message from Android accessory #4
    [RECV] Message from Android device #5
    [SENT] Message from Android accessory #5
    [RECV] Message from Android device #6
    [SENT] Message from Android accessory #6
    [RECV] Message from Android device #7
    [SENT] Message from Android accessory #7
    [RECV] Message from Android device #8
    [SENT] Message from Android accessory #8
    [RECV] Message from Android device #9
    [SENT] Message from Android accessory #9
    [RECV] Message from Android device #10
    [SENT] Message from Android accessory #10
    

कैमरे के फ़ील्ड ऑफ़ व्यू को कैलिब्रेट करना

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

  1. टेस्ट एनवायरमेंट सेट अप करें:

    1. calibration-pattern.pdf टारगेट फ़ाइल को 11” x 17” या A3 साइज़ के पेपर पर प्रिंट करें.
    2. प्रिंट किए गए पैटर्न को किसी मज़बूत सतह पर चिपकाएं.
    3. कैमरे वाले डिवाइस और प्रिंट किए गए टारगेट को इस तरह से रखें जैसा कि इस डायग्राम में दिखाया गया है.
      कैमरे से प्रिंट किया गया टारगेट

      सातवीं इमेज. कैमरे से प्रिंट किया गया टारगेट

  2. टारगेट चौड़ाई सेट करें:

    1. प्रिंटिंग में हुई गड़बड़ियों (~38 cm) का पता लगाने के लिए, टारगेट पैटर्न पर मौजूद सॉलिड लाइनों के बीच की दूरी (सेंटीमीटर में) मापें.
    2. कैलिब्रेशन ऐप्लिकेशन शुरू करें.
    3. सेटअप बटन दबाएं और मार्कर की दूरी चुनें.
    4. टारगेट पैटर्न (~100 cm) की दूरी मापें और डालें.
    5. कैलिब्रेशन की झलक पर वापस जाने के लिए, 'वापस जाएं' बटन दबाएं.
  3. पुष्टि करें कि डिवाइस और टारगेट को इमेज में दिखाए गए तरीके से रखा गया हो. साथ ही, सेटअप डायलॉग में सही दूरी डाली गई हो. प्रीव्यू में, इमेज पर वर्टिकल लाइन ओवरले की गई है. यह लाइन, टारगेट पैटर्न की सेंटर लाइन के साथ अलाइन होनी चाहिए. पारदर्शी ग्रिड का इस्तेमाल, अन्य वर्टिकल लाइनों के साथ किया जा सकता है. इससे यह पक्का किया जा सकता है कि ऑप्टिकल ऐक्सिस, टारगेट के ऑर्थोगोनल हो.

  4. कैलिब्रेशन टेस्ट चलाएं:

    1. सबसे नीचे बाईं ओर मौजूद सिलेक्टर का इस्तेमाल करके, इमेज का रिज़ॉल्यूशन चुनें. इसके बाद, फ़ोटो लेने के लिए स्क्रीन पर टैप करें. टेस्ट, कैलिब्रेशन मोड में चला जाता है. इसके बाद, फ़ोटो में दो वर्टिकल लाइनें दिखती हैं.
    2. सटीकता का पता लगाना:
      • अगर लाइनें, टारगेट पैटर्न पर मौजूद वर्टिकल लाइनों के साथ कुछ सेंटीमीटर के अंदर अलाइन हो जाती हैं, तो चुने गए रिज़ॉल्यूशन के लिए रिपोर्ट किया गया फ़ील्ड ऑफ़ व्यू सटीक होता है.
      • अगर लाइनें अलाइन नहीं होती हैं, तो इसका मतलब है कि फ़ील्ड ऑफ़ व्यू की रिपोर्ट में दी गई जानकारी सही नहीं है. इसे ठीक करने के लिए, स्क्रीन पर सबसे नीचे मौजूद स्लाइडर को तब तक अडजस्ट करें, जब तक ओवरले टारगेट पैटर्न के साथ ज़्यादा से ज़्यादा अलाइन न हो जाए. जब ओवरले और टारगेट पैटर्न वाली इमेज अलाइन हो जाती हैं, तो फ़ील्ड ऑफ़ व्यू की दिखाई गई वैल्यू, सही वैल्यू के काफ़ी करीब होती है. कैलिब्रेशन वैल्यू के हिसाब से, फ़ील्ड ऑफ़ व्यू में +/-2 डिग्री का अंतर होना चाहिए.
    3. वापस जाएं बटन दबाएं और डीयूटी के साथ काम करने वाले सभी इमेज रिज़ॉल्यूशन के लिए, कैलिब्रेशन टेस्ट दोहराएं.

दूसरे मोड के लिए, सीटीएस की पुष्टि करने वाला टूल चलाएं

CTS 10 R6 और CTS 11 R2 रिलीज़ के बाद से, CTS Verifier उन डिवाइसों के लिए ज़रूरी टेस्ट के साथ काम करता है जिनमें वैकल्पिक मोड होते हैं या जिनमें एक से ज़्यादा स्क्रीन मोड होते हैं.

CTS Verifier में मुख्य सूची के सबसे ऊपर, एक बटन दिखता है. इससे उपयोगकर्ता, अनफ़ोल्ड और फ़ोल्ड किए गए डिसप्ले मोड के बीच टॉगल कर सकते हैं. CTS Verifier, चुने गए डिसप्ले मोड के लिए ज़रूरी टेस्ट दिखाएगा. CTS Verifier में वैकल्पिक मोड को चालू करने के लिए, बटन को सही डिसप्ले मोड पर स्विच करें. इसके बाद, दिखाए गए टेस्ट की सूची को चलाएं.

CTS-V टॉगल स्विच

आठवीं इमेज. सीटीएस वेरिफ़ायर टॉगल स्विच

फ़ोल्ड किए गए टेस्ट के नतीजे, अनफ़ोल्ड किए गए टेस्ट के साथ एक ही रिपोर्ट में रिकॉर्ड किए जाएंगे. फ़ोल्ड किए गए मोड में, हर टेस्ट के नाम में एक सफ़िक्स जोड़ा जाता है. इससे यह पता चलता है कि टेस्ट का हर नतीजा किस टेस्ट सेट से मिला है.

<Test result="fail" name="com.android.cts.verifier.deskclock.DeskClockTestsActivity[folded]">
  <RunHistory subtest="CREATE_ALARM[folded]">
    <Run start="1594176663973" end="1594176665841" isAutomated="false" />
  </RunHistory>
</Test>

नतीजे एक्सपोर्ट करना

सभी जांच पूरी होने के बाद, नतीजों को रिपोर्ट के तौर पर सेव किया जा सकता है. साथ ही, उन्हें कंप्यूटर पर डाउनलोड किया जा सकता है. रिपोर्ट के नाम, डीयूटी के सिस्टम टाइम के आधार पर अपने-आप टाइमस्टैंप हो जाते हैं.

  1. जांच के नतीजे सेव करने के लिए, जांच की कैटगरी की सूची में सबसे ऊपर मौजूद, सेव करें (डिस्क) आइकॉन पर टैप करें.

  2. सेव की गई रिपोर्ट का फ़ाइल पाथ दिखाने वाले पॉप-अप मैसेज का इंतज़ार करें. उदाहरण के लिए, /sdcard/verifierReports/ctsVerifierReport-date-time.zip. इसके बाद, पाथ रिकॉर्ड करें.

  3. DUT को Linux कंप्यूटर से कनेक्ट करें.

  4. Linux कंप्यूटर पर Android SDK इंस्टॉल करके, कनेक्ट किए गए डिवाइस से रिपोर्ट डाउनलोड करें. इसके लिए, adb shell content read या adb pull CTSVerifierReportPath का इस्तेमाल करें.

    • Android 7.x और इसके बाद के वर्शन के लिए, यहां दिए गए निर्देश का इस्तेमाल करके सभी रिपोर्ट डाउनलोड करें:

      adb pull /sdcard/verifierReports
      
    • Android 6.0 और इससे पुराने वर्शन के लिए, यहां दिए गए निर्देश का इस्तेमाल करके सभी रिपोर्ट डाउनलोड करें:

      adb pull /mnt/sdcard/ctsVerifierReports/
      
    • Android 10 और इसके बाद के वर्शन के लिए, Automotive और दूसरे उपयोगकर्ता के तौर पर काम करने वाले डिवाइसों पर, इस निर्देश का इस्तेमाल करके नई रिपोर्ट डाउनलोड करें:

      adb shell content read --user CURRENT_USER --uri
      
      content://com.android.cts.verifier.testresultsprovider/reports/latest > report.zip
      

      कनेक्ट किए गए डिवाइस में मौजूद सभी रिपोर्ट देखने के लिए:

      adb shell content query --user CURRENT_USER --uri
      
      content://com.android.cts.verifier.testresultsprovider/reports
      

      सूची से कोई रिपोर्ट डाउनलोड करने के लिए, लाइन का आईडी या फ़ाइल का नाम तय किया जा सकता है. उदाहरण के लिए:

      adb shell content read --user CURRENT_USER --uri
      
      content://com.android.cts.verifier.testresultsprovider/reports/0 > report.zip
      
      adb shell content read --user CURRENT_USER --uri
      
      content://com.android.cts.verifier.testresultsprovider/reports/ctsVerifierReport-date-time.zip >
      report.zip
      
  5. पास/फ़ेल के नतीजों को मिटाने के लिए, CTS Verifier ऐप्लिकेशन में नतीजे चुनें. इसके बाद, मेन्यू > मिटाएं चुनें.