Android Compatibility Test Suite Verifier (CTS Verifier), Compatibility Test Suite (CTS) का पूरक है. CTS में, ऐसे एपीआई और फ़ंक्शन की जांच की जाती है जिन्हें अपने-आप किया जा सकता है. वहीं, CTS Verifier में ऐसे एपीआई और फ़ंक्शन की जांच की जाती है जिन्हें किसी एक जगह पर रखे गए डिवाइस पर, मैन्युअल इनपुट या पोज़िशनिंग के बिना टेस्ट नहीं किया जा सकता. जैसे, ऑडियो क्वालिटी, टचस्क्रीन, ऐक्सिलरोमीटर, और कैमरा.
ज़रूरी शर्तें
CTS Verifier चलाने से पहले, पक्का करें कि आपके पास ये उपकरण हों:
- Android डिवाइस, जिसने सीटीएस पास करके Android एपीआई के साथ काम करने की पुष्टि की हो. यह जांच किया जा रहा डिवाइस (डीयूटी) है.
- 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
एम्युलेटर में, हमें उम्मीद है कि लेन-देन वाला इवेंट, उससे जुड़ी गतिविधि को फ़ोरग्राउंड में ले जाएगा.
सेटअप
टेस्ट डिवाइस के सिस्टम नेविगेशन मोड को तीन बटन वाले मोड में बदलें. इसके लिए, यह तरीका अपनाएं:
- Settings खोलें.
- सिस्टम > हाथ के जेस्चर > सिस्टम नेविगेशन पर जाएं.
- बटन पर आधारित कोई भी नेविगेशन मोड चुनें. अगर तीन बटन वाला मोड उपलब्ध है, तो उसे चुनें.
CTS Verifier का टेस्टिंग एनवायरमेंट सेट अप करने के लिए:
Linux कंप्यूटर पर:
- गैर-एसडीके इंटरफ़ेस को ऐक्सेस करने की अनुमति देने के लिए, CTS Verifier को इंस्टॉल करने से पहले यह निर्देश चलाएं.
adb shell settings put global hidden_api_policy 1Android Studio इंस्टॉल करें.
जांच करने के लिए, Android के वर्शन के हिसाब से CTS Verifier APK डाउनलोड करें.
DUT को Linux कंप्यूटर से कनेक्ट करें.
Linux कंप्यूटर पर मौजूद टर्मिनल से, DUT पर
CtsVerifier.apkइंस्टॉल करें:adb install -r -g CtsVerifier.apkAndroid 10 और इसके बाद के वर्शन के लिए, ऐप्लिकेशन को रिपोर्ट बनाने की अनुमति देने के लिए, यह कमांड चलाएं:
adb shell appops set com.android.cts.verifier android:read_device_identifiers allowAndroid 11 और इसके बाद के वर्शन के लिए, यह कमांड चलाएं. इससे रिपोर्ट को डिवाइस की बाहरी टॉप-लेवल डायरेक्ट्री में, उपयोगकर्ता की तय की गई डायरेक्ट्री में सेव करने की अनुमति मिलती है:
adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0Android 13 और इसके बाद के वर्शन के लिए, CTS Verifier को टेस्ट एपीआई का ऐक्सेस देने के लिए, यह कमांड चलाएँ:
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifierAndroid 14 और इसके बाद के वर्शन के लिए, ऐप्लिकेशन को स्क्रीन चालू करने की अनुमति देने के लिए, यह कमांड चलाएँ:
adb shell appops set com.android.cts.verifier TURN_SCREEN_ON 0पुष्टि करें कि DUT में सिस्टम की तारीख और समय सही तरीके से सेट किया गया हो.
सीटीएस वेरिफ़ायर चलाएं
DUT पर CTS Verifier आइकॉन पर टैप करके, CTS Verifier ऐप्लिकेशन लॉन्च करें.
पहली इमेज. CTS Verifier का आइकॉन.
ऐप्लिकेशन में, मैन्युअल तरीके से पुष्टि करने के लिए उपलब्ध कई टेस्ट सेट दिखाए जाते हैं.
दूसरी इमेज. सीटीएस वेरिफ़ायर के टेस्ट का मेन्यू.
हर टेस्ट में, स्क्रीन पर सबसे नीचे कुछ सामान्य एलिमेंट होते हैं.
तीसरी इमेज. टेस्ट स्क्रीन, जिसमें सामान्य टेस्ट एलिमेंट हाइलाइट किए गए हैं.
- पास (✓). अगर DUT, जानकारी वाले निर्देशों के मुताबिक टेस्ट की ज़रूरी शर्तें पूरी करता है, तो इस पर टैप करें.
- जानकारी (?). टेस्ट के निर्देश देखने के लिए टैप करें. पहली बार कोई टेस्ट खोलने पर भी यह अपने-आप दिखता है.
- फ़ेल (!). अगर डीयूटी, जानकारी में दिए गए निर्देशों के मुताबिक टेस्ट की ज़रूरी शर्तें पूरी नहीं करता है, तो इस पर टैप करें.
कुछ टेस्ट, जैसे कि यूएसबी ऐक्सेसरी मोड और कैमरा कैलिब्रेशन टेस्ट के लिए, अतिरिक्त टेस्ट सेटअप और निर्देशों की ज़रूरत होती है. इनके बारे में यहाँ बताया गया है.
Android 8.0 और उसके बाद के वर्शन के लिए, यूएसबी ऐक्सेसरी मोड की जांच करना
चौथी इमेज. Android 8.0 और इससे ऊपर के वर्शन के लिए, यूएसबी ऐक्सेसरी की जांच करने का तरीका.
पांचवीं इमेज. Android 8.0 और उसके बाद के वर्शन के लिए, यूएसबी ऐक्सेसरी मोड की टेस्टिंग.
7.x और इससे पहले के वर्शन के लिए, यूएसबी ऐक्सेसरी मोड की जांच करना
यूएसबी ऐक्सेसरी की जांच करने के लिए, Linux कंप्यूटर की ज़रूरत होती है, ताकि यूएसबी डेस्कटॉप मशीन (होस्ट) प्रोग्राम चलाया जा सके.
- DUT को Linux कंप्यूटर से कनेक्ट करें.
कंप्यूटर पर, CTS Verifier पैकेज से
cts-usb-accessoryप्रोग्राम चलाएं:./cts-usb-accessoryDUT पर डायलॉग बॉक्स दिखने का इंतज़ार करें. इसके बाद, ठीक है पर टैप करें.
छठी इमेज. यूएसबी ऐक्सेसरी की जांच
DUT पर CTS Verifier ऐप्लिकेशन में, USB Accessory Test पर जाएं.
कंप्यूटर पर, कंसोल से मिले आउटपुट की समीक्षा करें. आउटपुट का उदाहरण:
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
कैमरे के फ़ील्ड ऑफ़ व्यू को कैलिब्रेट करना
फ़ील्ड ऑफ़ व्यू कैलिब्रेशन की प्रोसेस का इस्तेमाल करके, डिवाइस के फ़ील्ड ऑफ़ व्यू का पता लगाया जा सकता है. इससे आपको कुछ हद तक सटीक जानकारी मिलती है.
टेस्ट एनवायरमेंट सेट अप करें:
- कैलिब्रेशन पैटर्न की PDF टारगेट फ़ाइल को 11" x 17" या A3 साइज़ के पेपर पर प्रिंट करें.
- प्रिंट किए गए पैटर्न को किसी मज़बूत सतह पर चिपकाएं.
कैमरे वाले डिवाइस और प्रिंट किए गए टारगेट को इस तरह से रखें जैसा कि इस डायग्राम में दिखाया गया है:
सातवीं इमेज. कैमरे से प्रिंट किया गया टारगेट.
टारगेट चौड़ाई सेट करें:
- प्रिंटिंग में हुई गड़बड़ियों (~38 cm) का पता लगाने के लिए, टारगेट पैटर्न पर मौजूद सॉलिड लाइनों के बीच की दूरी (सेंटीमीटर में) मापें.
- कैलिब्रेशन ऐप्लिकेशन शुरू करें.
- सेटअप बटन दबाएं और मार्कर की दूरी चुनें.
- टारगेट पैटर्न (~100 cm) की दूरी मापें और डालें.
- कैलिब्रेशन की झलक पर वापस जाने के लिए, 'वापस जाएं' बटन दबाएं.
पुष्टि करें कि डिवाइस और टारगेट को इमेज में दिखाए गए तरीके से रखा गया हो. साथ ही, सेटअप डायलॉग में सही दूरी डाली गई हो. झलक में, इमेज के ऊपर वर्टिकल लाइन दिखाई गई है. यह लाइन, टारगेट पैटर्न की सेंटरलाइन के साथ अलाइन होनी चाहिए. पारदर्शी ग्रिड का इस्तेमाल, अन्य वर्टिकल लाइनों के साथ किया जा सकता है. इससे यह पुष्टि की जा सकती है कि ऑप्टिकल ऐक्सिस, टारगेट के ऑर्थोगोनल है.
कैलिब्रेशन टेस्ट चलाएं:
- सबसे नीचे बाईं ओर मौजूद सिलेक्टर का इस्तेमाल करके, इमेज का रिज़ॉल्यूशन चुनें. इसके बाद, फ़ोटो लेने के लिए स्क्रीन पर टैप करें. टेस्ट, कैलिब्रेशन मोड में चला जाता है. साथ ही, फ़ोटो में दो वर्टिकल लाइनें दिखती हैं.
- सटीक जानकारी का पता लगाना:
- अगर लाइनें, टारगेट पैटर्न पर मौजूद वर्टिकल लाइनों के साथ कुछ सेंटीमीटर तक अलाइन होती हैं, तो इसका मतलब है कि चुने गए रिज़ॉल्यूशन के लिए, रिपोर्ट किया गया फ़ील्ड ऑफ़ व्यू सटीक है.
- अगर लाइनें अलाइन नहीं होती हैं, तो इसका मतलब है कि फ़ील्ड ऑफ़ व्यू की रिपोर्ट में दी गई जानकारी सही नहीं है. इसे ठीक करने के लिए, स्क्रीन पर सबसे नीचे मौजूद स्लाइडर को तब तक अडजस्ट करें, जब तक ओवरले टारगेट पैटर्न के साथ ज़्यादा से ज़्यादा मेल न खा जाए. जब ओवरले और टारगेट पैटर्न इमेज अलाइन हो जाती हैं, तो फ़ील्ड ऑफ़ व्यू की दिखाई गई वैल्यू, सही वैल्यू के काफ़ी करीब होती है. व्यू के रिपोर्ट किए गए फ़ील्ड की वैल्यू, कैलिब्रेशन वैल्यू के दो डिग्री के अंदर होनी चाहिए.
- वापस जाएं बटन दबाएं. इसके बाद, DUT पर काम करने वाले सभी इमेज रिज़ॉल्यूशन के लिए, कैलिब्रेशन टेस्ट को दोहराएं.
दूसरे मोड के लिए CTS Verifier चलाएं
सीटीएस 10 आर6 और सीटीएस 11 आर2 रिलीज़ से, सीटीएस वेरिफ़ायर उन टेस्ट के साथ काम करता है जो वैकल्पिक मोड वाले डिवाइसों या एक से ज़्यादा स्क्रीन मोड वाले डिवाइसों के लिए ज़रूरी होते हैं.
CTS Verifier में मुख्य सूची के सबसे ऊपर, एक बटन दिखता है. इससे उपयोगकर्ता, फ़ोल्ड किए गए और फ़ोल्ड नहीं किए गए डिसप्ले मोड के बीच टॉगल कर सकते हैं. CTS Verifier, चुने गए डिसप्ले मोड के लिए ज़रूरी टेस्ट दिखाएगा. CTS Verifier में अन्य मोड इस्तेमाल करने के लिए, बटन को सही डिसप्ले मोड पर स्विच करना होगा. इसके बाद, दिखाए गए टेस्ट की सूची को चलाना होगा.
आठवीं इमेज. CTS Verifier का टॉगल स्विच.
फ़ोल्ड किए गए टेस्ट के नतीजे, अनफ़ोल्ड किए गए टेस्ट के साथ एक ही रिपोर्ट में रिकॉर्ड किए जाएंगे. फ़ोल्ड किए गए मोड में, हर टेस्ट के नाम में एक सफ़िक्स जोड़ा जाता है. इससे यह पता चलता है कि हर टेस्ट का नतीजा किस टेस्ट सेट से मिला है.
<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>
नतीजे एक्सपोर्ट करना
सभी जांच पूरी होने के बाद, नतीजों को रिपोर्ट के तौर पर सेव किया जा सकता है. साथ ही, उन्हें कंप्यूटर पर डाउनलोड किया जा सकता है. रिपोर्ट के नाम, DUT के सिस्टम टाइम के आधार पर अपने-आप टाइमस्टैंप हो जाते हैं.
जांच के नतीजे सेव करने के लिए, जांच की कैटगरी की सूची में सबसे ऊपर मौजूद, सेव करें (डिस्क) आइकॉन पर टैप करें.
सेव की गई रिपोर्ट का पाथ दिखाने वाले डायलॉग बॉक्स (उदाहरण के लिए,
/sdcard/verifierReports/ctsVerifierReport-date-time.zip) के दिखने का इंतज़ार करें. इसके बाद, पाथ रिकॉर्ड करें.DUT को Linux कंप्यूटर से कनेक्ट करें.
Linux कंप्यूटर पर Android SDK इंस्टॉल करके, कनेक्ट किए गए डिवाइस से रिपोर्ट डाउनलोड करें. इसके लिए,
adb shell content readयाadb pull CTSVerifierReportPathका इस्तेमाल करें.Android 7.x और इसके बाद के वर्शन के लिए, यहां दिया गया कमांड इस्तेमाल करके सभी रिपोर्ट डाउनलोड करें:
adb pull /sdcard/verifierReportsAndroid 6.0 और इससे पुराने वर्शन के लिए, यहां दिए गए कमांड का इस्तेमाल करके सभी रिपोर्ट डाउनलोड करें:
adb pull /mnt/sdcard/ctsVerifierReports/Android 10 और इसके बाद के वर्शन के लिए, Automotive और दूसरे उपयोगकर्ता के तौर पर काम करने वाले डिवाइसों को लागू करने के लिए, यहां दिए गए निर्देश का इस्तेमाल करके, नई रिपोर्ट डाउनलोड करें:
adb shell content read --user <var>CURRENT_USER</var> --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 ``` To download a report from the list, you can specify the Row ID or filename. For example: ```shell adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports/0 > report.zip ``` ```shell adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports ctsVerifierReport-date-time.zip > report.zip ```
पास या फ़ेल होने के नतीजों को मिटाने के लिए, CTS Verifier ऐप्लिकेशन में नतीजे चुनें. इसके बाद, मेन्यू > मिटाएं चुनें.