Android Studio की मदद से टेस्ट करना

Firebase Test Lab, Android ऐप्लिकेशन की टेस्टिंग के लिए क्लाउड-आधारित इन्फ़्रास्ट्रक्चर उपलब्ध कराता है. साथ ही, यह Android Studio के साथ पूरी तरह से इंटिग्रेट होता है, ताकि इंस्ट्रुमेंट किए गए टेस्ट चलाए जा सकें और टेस्ट के नतीजों की समीक्षा की जा सके.

इस गाइड में, Android Studio में इंस्ट्रुमेंट किए गए टेस्ट में बदलाव करने का तरीका बताया गया है, ताकि उन्हें Test Lab के साथ इंटिग्रेट और चलाया जा सके. टेस्ट मैट्रिक्स बनाने, इंस्ट्रुमेंटेड टेस्ट चलाने, और टेस्ट के नतीजे देखने के लिए, Android Studio के यूज़र इंटरफ़ेस (यूआई) से Test Lab का इस्तेमाल करने के बारे में निर्देश पाने के लिए, Firebase Test Lab की मदद से टेस्ट चलाएं लेख पढ़ें.

स्क्रीनशॉट कैप्चर करना

Test Lab, इंस्ट्रुमेंट किए गए टेस्ट चलाने के दौरान स्क्रीनशॉट कैप्चर करने की सुविधा देता है. स्क्रीनशॉट कैप्चर करने का तरीका जानने के लिए, अपने प्रोजेक्ट में स्क्रीनशॉट लाइब्रेरी जोड़ना लेख पढ़ें.

Espresso Test Recorder का इस्तेमाल करके टेस्ट बनाना

Espresso Test Recorder टूल की मदद से, ऐप्लिकेशन के लिए यूज़र इंटरफ़ेस (यूआई) टेस्ट बनाए जा सकते हैं. इसके लिए, आपको कोई टेस्ट कोड लिखने की ज़रूरत नहीं होती. किसी डिवाइस के साथ अपने इंटरैक्शन रिकॉर्ड किए जा सकते हैं. साथ ही, अपने ऐप्लिकेशन के खास स्नैपशॉट में यूज़र इंटरफ़ेस (यूआई) एलिमेंट की पुष्टि करने के लिए, दावे जोड़े जा सकते हैं. इसके बाद, Espresso Test Recorder सेव की गई रिकॉर्डिंग लेता है और उससे मिलता-जुलता Espresso यूज़र इंटरफ़ेस (यूआई) टेस्ट अपने-आप जनरेट करता है. इस टेस्ट को Test Lab में अपने ऐप्लिकेशन को टेस्ट करने के लिए चलाया जा सकता है.

ज़्यादा जानने के लिए, Espresso Test Recorder की मदद से यूज़र इंटरफ़ेस (यूआई) टेस्ट बनाएं लेख पढ़ें.

Test Lab के लिए, इंस्ट्रुमेंटेड टेस्ट के काम करने के तरीके में बदलाव करना

Test Lab एक सिस्टम वैरिएबल उपलब्ध कराता है. इसे इंस्ट्रुमेंटेड टेस्ट में जोड़ा जा सकता है. इससे, Test Lab में टेस्ट चलाने पर, वे आपके टेस्ट डिवाइस या एम्युलेटर पर चलाने के मुकाबले अलग तरीके से काम करते हैं.

यहां दिए गए कोड के उदाहरण में, सिस्टम प्रॉपर्टी firebase.test.lab को पढ़ा जाता है. साथ ही, अगर टेस्ट Test Lab में चल रहा है, तो स्ट्रिंग testLabSetting को true पर सेट किया जाता है. इसके बाद, यह इस स्ट्रिंग की वैल्यू का इस्तेमाल यह कंट्रोल करने के लिए करता है कि अतिरिक्त स्टेटमेंट लागू किए गए हैं या नहीं:

Kotlin

val testLabSetting = Settings.System.getString(contentResolver, "firebase.test.lab")
if ("true" == testLabSetting) {
    // Do something when running in Test Lab
    // ...
}

Java

String testLabSetting = Settings.System.getString(getContentResolver(), "firebase.test.lab");
if ("true".equals(testLabSetting)) {
    // Do something when running in Test Lab
    // ...
}

Firebase Test Lab प्लगिन के ज़रिए, Gradle मैनेज किए गए डिवाइसों का इस्तेमाल करना

Firebase Test Labप्लगिन के ज़रिए Gradle मैनेज किए गए डिवाइसों की मदद से, Test Labडिवाइसों पर बड़े पैमाने पर अपने-आप इंस्ट्रुमेंट किए गए टेस्ट चलाए जा सकते हैं. ये टेस्ट, आपके प्रोजेक्ट की Gradle फ़ाइलों में मौजूद कॉन्फ़िगरेशन के आधार पर चलाए जाते हैं.

Gradle मैनेज किए गए डिवाइसों में स्मार्ट शार्डिंग की सुविधा भी मिलती है. इससे, पिछली टेस्ट हिस्ट्री के आधार पर, टेस्ट को शार्ड में बेहतर तरीके से बांटा जा सकता है. स्मार्ट शार्डिंग की मदद से, शार्ड लगभग एक ही समय तक चलते हैं और टेस्ट के नतीजे जितनी जल्दी हो सके उतने जल्दी मिलते हैं. स्मार्ट शार्डिंग की मदद से, बड़ी टेस्ट सुइट को पैरलल में चलाया जा सकता है. इसलिए, यह सुविधा CI/CD फ़्लो के लिए सबसे सही है.

Gradle Managed Devices Test Lab प्लगिन का इस्तेमाल करके स्मार्ट शार्डिंग की सुविधा चालू करने के लिए, स्मार्ट शार्डिंग की मदद से टेस्ट रन को ऑप्टिमाइज़ करना में दिए गए निर्देशों का पालन करें .