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 Managed Devices का इस्तेमाल किया जा सकता है. इससे, Test Labडिवाइसों पर बड़े पैमाने पर अपने-आप इंस्ट्रुमेंटेड टेस्ट चलाए जा सकते हैं. ये टेस्ट, आपके प्रोजेक्ट की Gradle फ़ाइलों में मौजूद कॉन्फ़िगरेशन के आधार पर चलाए जाते हैं.
Gradle मैनेज किए गए डिवाइसों में स्मार्ट शार्डिंग की सुविधा भी मिलती है. इससे, पिछली टेस्ट हिस्ट्री के आधार पर, टेस्ट को शार्ड में बेहतर तरीके से बांटा जा सकता है. स्मार्ट शार्डिंग की मदद से, शार्ड लगभग एक ही समय तक चलते हैं और टेस्ट के नतीजे जल्द से जल्द मिलते हैं. स्मार्ट शार्डिंग की मदद से, बड़ी टेस्ट सुइट को एक साथ चलाया जा सकता है. इसलिए, यह सुविधा CI/CD फ़्लो के लिए सबसे सही है.
Gradle Managed Devices Test Lab प्लगिन का इस्तेमाल करके, स्मार्ट शार्डिंग की सुविधा चालू करने के लिए, स्मार्ट शार्डिंग की मदद से टेस्ट रन को ऑप्टिमाइज़ करना में दिए गए निर्देशों का पालन करें .