टेस्ट हार्नेस मोड तीसरे पक्ष के ऐप डेवलपर्स के लिए एंड्रॉइड 10 में जोड़ा गया एक फीचर है जो किसी डिवाइस या उपकरणों के बेड़े को स्वचालित करना चाहता है। यह सुविधा Android डिवाइस पर सभी उपयोगकर्ता डेटा को मिटाने, ADB कुंजियों को बनाए रखने और सभी पहली बार सेटअप स्क्रीन को छोड़ने की एक विधि प्रदान करती है। यह उपयोगकर्ता को बिना किसी मैन्युअल बातचीत के स्टार्टअप के तुरंत बाद यूआई परीक्षण चलाने में सक्षम बनाता है।
अनुकूलन
आप ActivityManager.isRunningInUserTestHarness()
की जांच करके यह निर्धारित कर सकते हैं कि कोई डिवाइस टेस्ट हार्नेस मोड में है या नहीं। अनुकूलन को न्यूनतम रखें; सेटअप स्क्रीन को छोड़ना (कीबोर्ड या सेटअप विज़ार्ड पर) जैसी चीजों तक सीमित है जो UI परीक्षणों को तोड़ देगा या मैन्युअल इंटरैक्शन की आवश्यकता होगी।
कार्यान्वयन
PersistentDataBlockService
का डिफ़ॉल्ट कार्यान्वयन PersistentDataBlockManagerInternal
में है। TestHarnessModeService
में टेस्ट हार्नेस मोड लागू किया गया है।
टेस्ट हार्नेस मोड का डिफ़ॉल्ट कार्यान्वयन एडीबी कुंजी को स्थायी विभाजन में अस्थायी रूप से संग्रहीत करने के लिए फ़ैक्टरी रीसेट सुरक्षा के समान भंडारण तंत्र का उपयोग करता है। यदि फ़ैक्टरी रीसेट प्रोटेक्शन के साथ एक स्थायी विभाजन पहले से ही परीक्षण डिवाइस पर लागू किया गया है, तो सुविधा का समर्थन करने के लिए बहुत कम काम करने की आवश्यकता नहीं है।
जिन OEM के पास स्थायी विभाजन सेट अप नहीं है, उन्हें TestHarnessModeService
चलाने से पहले PersistentDataBlockManagerInternal
को लागू करने की आवश्यकता है।
टेस्ट हार्नेस मोड की स्थिति की जाँच करना
जब टेस्ट हार्नेस मोड सक्षम किया जाता है, तो ActivityManager.isRunningInUserTestHarness()
true
लौटाता है।
रनिंग टेस्ट हार्नेस मोड
टेस्ट हार्नेस मोड को सक्षम करने से डिवाइस से सभी डेटा वाइप हो जाता है और परीक्षण के लिए डिवाइस सेट हो जाता है। इसका मतलब यह है कि डिवाइस के सभी हिस्से जो परीक्षण में हस्तक्षेप कर सकते हैं (जैसे ऑटो-सिंकिंग खाते, पैकेज सत्यापन और स्वचालित अपडेट) सभी डिफ़ॉल्ट रूप से अक्षम हैं लेकिन उपयोगकर्ता द्वारा फिर से सक्षम किए जा सकते हैं।
टेस्ट हार्नेस मोड को सक्षम करने के लिए adb
कमांड चलाएँ:
adb shell cmd testharness enable