टेस्ट हार्नेस मोड लागू करें

टेस्ट हार्नेस मोड एंड्रॉइड 10 में तीसरे पक्ष के ऐप डेवलपर्स के लिए जोड़ा गया एक फीचर है जो किसी डिवाइस या डिवाइस के बेड़े को स्वचालित करना चाहते हैं। यह सुविधा एंड्रॉइड डिवाइस पर सभी उपयोगकर्ता डेटा को मिटाने, एडीबी कुंजियों को बनाए रखने और सभी पहली बार सेटअप स्क्रीन को छोड़ने की एक विधि प्रदान करती है। यह उपयोगकर्ता को बिना किसी मैन्युअल इंटरैक्शन के स्टार्टअप के तुरंत बाद यूआई परीक्षण चलाने में सक्षम बनाता है।

अनुकूलन

आप ActivityManager.isRunningInUserTestHarness() को चेक करके यह निर्धारित कर सकते हैं कि कोई डिवाइस टेस्ट हार्नेस मोड में है या नहीं। अनुकूलन न्यूनतम रखें; सेटअप स्क्रीन (कीबोर्ड या सेटअप विज़ार्ड पर) को छोड़ने जैसी चीज़ों को सीमित करें जो यूआई परीक्षणों को तोड़ सकती हैं या मैन्युअल इंटरैक्शन की आवश्यकता होती है।

कार्यान्वयन

PersistentDataBlockManagerInternal का डिफ़ॉल्ट कार्यान्वयन PersistentDataBlockService में है। टेस्ट हार्नेस मोड TestHarnessModeService में लागू किया गया है।

टेस्ट हार्नेस मोड का डिफ़ॉल्ट कार्यान्वयन एडीबी कुंजियों को अस्थायी रूप से लगातार विभाजन में संग्रहीत करने के लिए फ़ैक्टरी रीसेट सुरक्षा के समान भंडारण तंत्र का उपयोग करता है। यदि फ़ैक्टरी रीसेट सुरक्षा के साथ एक सतत विभाजन पहले से ही परीक्षण डिवाइस पर लागू किया गया है, तो सुविधा का समर्थन करने के लिए बहुत कम या कोई काम आवश्यक नहीं है।

जिन ओईएम के पास लगातार विभाजन सेट अप नहीं है, उन्हें TestHarnessModeService चलाने से पहले PersistentDataBlockManagerInternal लागू करने की आवश्यकता है।

टेस्ट हार्नेस मोड की स्थिति जांचें

जब टेस्ट हार्नेस मोड सक्षम होता है, ActivityManager.isRunningInUserTestHarness() true लौटाता है।

टेस्ट हार्नेस मोड चलाएँ

टेस्ट हार्नेस मोड को सक्षम करने से डिवाइस से सारा डेटा मिट जाता है और डिवाइस को परीक्षण के लिए सेट कर दिया जाता है। इसका मतलब यह है कि डिवाइस के सभी हिस्से जो परीक्षण में हस्तक्षेप कर सकते हैं (जैसे ऑटो-सिंकिंग खाते, पैकेज सत्यापन और स्वचालित अपडेट) सभी डिफ़ॉल्ट रूप से अक्षम हैं लेकिन उपयोगकर्ता उन्हें पुन: सक्षम कर सकता है।

टेस्ट हार्नेस मोड को सक्षम करने के लिए adb कमांड चलाएँ:

adb shell cmd testharness enable