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 प्लगिन का इस्तेमाल करके स्मार्ट शार्डिंग की सुविधा चालू करने के लिए, स्मार्ट शार्डिंग की मदद से टेस्ट रन को ऑप्टिमाइज़ करना में दिए गए निर्देशों का पालन करें .