रोबो टेस्ट, टेस्टिंग टूल है जो Firebase Test Lab के साथ इंटिग्रेट किया गया है. रोबो टेस्ट, आपके ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) के स्ट्रक्चर का विश्लेषण करता है. इसके बाद, वह व्यवस्थित तरीके से इसकी जांच करता है और उपयोगकर्ता की गतिविधियों को अपने-आप सिम्युलेट करता है. जब किसी ऐप्लिकेशन की जांच, एक ही सेटिंग वाले डिवाइस कॉन्फ़िगरेशन पर की जाती है, तो रोबो टेस्ट हमेशा एक ही क्रम में उपयोगकर्ता गतिविधि को सिम्युलेट करता है. इस तरीके से बार-बार टेस्ट किया जा सकता है. इससे रोबो टेस्ट का इस्तेमाल करके, गड़बड़ियों को ठीक करने और रिग्रेशन की जांच करने में मदद मिलती है.
रोबो टेस्ट, लॉग फ़ाइलों को कैप्चर करता है और एनोटेट किए गए स्क्रीनशॉट की एक सीरीज़ सेव करता है. इसके बाद, वह उन स्क्रीनशॉट से एक वीडियो बनाता है, ताकि आपको उपयोगकर्ता की उन कार्रवाइयों को दिखाया जा सके जो उसने की हैं. इन लॉग, स्क्रीनशॉट, और वीडियो से, आपको ऐप्लिकेशन के क्रैश होने की असल वजह का पता लगाने में मदद मिल सकती है. रोबो टेस्ट की इन सुविधाओं से, आपको अपने ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) से जुड़ी समस्याओं का पता लगाने में भी मदद मिल सकती है.
सामान्य रोबो टेस्ट चलाने के अलावा, रोबो स्क्रिप्ट का इस्तेमाल करके अपने टेस्ट को पसंद के मुताबिक बनाया जा सकता है. रोबो स्क्रिप्ट, रोबो टेस्ट की एक सुविधा है. ज़्यादा जानने के लिए, रोबो स्क्रिप्ट चलाना लेख पढ़ें.
अगर आपको iOS+ के लिए Robo का बीटा वर्शन आज़माना है, तो Robo टेस्ट चलाएं लेख पढ़ें.
रोबो टेस्ट के क्रॉल करने के बारे में आंकड़े
रोबो टेस्ट के नतीजों को समझने में आपकी मदद करने के लिए, रोबो टेस्ट हर टेस्ट क्रॉल के दौरान आंकड़े रिकॉर्ड करता है. Test Lab, टेस्ट के नतीजों वाले पेज पर, रोबो टेस्ट टैब में सबसे ऊपर आंकड़े दिखाता है:
कार्रवाइयां: क्रॉल के दौरान की गई कार्रवाइयों की कुल संख्या. इनमें रोबो स्क्रिप्ट की कार्रवाइयां, मंकी कार्रवाइयां, और रोबो डायरेक्टिव शामिल हैं.
गतिविधियां: क्रॉल के दौरान कवर की गई अलग-अलग गतिविधियों की संख्या.
स्क्रीन: क्रॉल के दौरान विज़िट की गई अलग-अलग स्क्रीन की संख्या.
Test Lab इन आंकड़ों का इस्तेमाल, क्रॉल ग्राफ़ के तौर पर रोबो टेस्ट को विज़ुअल तौर पर दिखाने के लिए भी करता है. ग्राफ़ में स्क्रीन को नोड और कार्रवाइयों को एज के तौर पर दिखाया जाता है. स्क्रीन के बीच के किनारों को फ़ॉलो करके, यह पता लगाया जा सकता है कि क्रॉल के दौरान रोबो टेस्ट ने आपके ऐप्लिकेशन को कैसे एक्सप्लोर किया.
रोबो टेस्ट का टाइम आउट
आपके ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) की जटिलता के आधार पर, रोबो टेस्ट को यूज़र इंटरफ़ेस (यूआई) इंटरैक्शन के पूरे सेट को पूरा करने में पांच मिनट या उससे ज़्यादा समय लग सकता है. हमारा सुझाव है कि ज़्यादातर ऐप्लिकेशन के लिए, टेस्ट टाइम आउट को कम से कम 120 सेकंड (2 मिनट) पर सेट करें. साथ ही, कुछ हद तक जटिल ऐप्लिकेशन के लिए, इसे 300 सेकंड (5 मिनट) पर सेट करें. Android Studio और Firebase कंसोल से चलाए जाने वाले टेस्ट के लिए, टाइम आउट की डिफ़ॉल्ट वैल्यू 300 सेकंड (5 मिनट) होती है. वहीं, gcloud कमांड लाइन से चलाए जाने वाले टेस्ट के लिए, यह वैल्यू 900 सेकंड (15 मिनट) होती है.
ऐप्लिकेशन के शुरू होने में लगने वाले समय से जुड़ी गड़बड़ियां
अगर आपके ऐप्लिकेशन को शुरू होने में ज़्यादा समय लगता है, तो रोबो टेस्ट कोई गड़बड़ी दिखा सकता है. साथ ही, वह आपके ऐप्लिकेशन को क्रॉल नहीं कर पाएगा. ऐसा सिर्फ़ तब होता है, जब ऐप्लिकेशन को शुरू होने में बहुत ज़्यादा समय लगता है. इस समस्या को हल करने के लिए, आपको अपने ऐप्लिकेशन में बदलाव करना होगा, ताकि वह तेज़ी से शुरू हो सके.
रोबो स्क्रिप्ट की मदद से ज़्यादा कंट्रोल
कभी-कभी आपको अपने टेस्ट पर ज़्यादा कंट्रोल की ज़रूरत होती है. उदाहरण के लिए, हो सकता है कि आपको उपयोगकर्ता की सामान्य गतिविधि की जांच करनी हो या उपयोगकर्ता नाम और पासवर्ड जैसे यूज़र इंटरफ़ेस (यूआई) इनपुट देने हों. रोबो स्क्रिप्ट से मदद मिल सकती है. रोबो स्क्रिप्ट के बारे में ज़्यादा जानने के लिए, रोबो स्क्रिप्ट चलाएं और रोबो स्क्रिप्ट की रेफ़रंस गाइड देखें.
रोबो टेस्ट और नॉन-Android यूज़र इंटरफ़ेस (यूआई) विजेट
रोबो टेस्ट, Android यूज़र इंटरफ़ेस (यूआई) विजेट पर सीधे तौर पर कार्रवाइयां करने के लिए, Android API का इस्तेमाल करते हैं. इससे टेस्ट आपके यूज़र इंटरफ़ेस (यूआई) को अपने-आप एक्सप्लोर कर पाते हैं. हालांकि, इसका मतलब यह भी है कि टेस्ट चलाने के लिए, उन्हें स्क्रीन के लिए Android यूज़र इंटरफ़ेस (यूआई) की हैरारकी को एक्सट्रैक्ट करना होगा.
अगर आपके ऐप्लिकेशन की किसी स्क्रीन पर Android यूज़र इंटरफ़ेस (यूआई) विजेट का इस्तेमाल नहीं किया जाता है, तो रोबो टेस्ट उस स्क्रीन की जांच करने के लिए, मंकी ऐक्शन का इस्तेमाल करते हैं. मंकी ऐक्शन, रोबो टेस्ट की तरह व्यवस्थित नहीं होते. ये डिवाइस की स्क्रीन पर, रैंडम जगहों पर टैप करने वाले इवेंट को सिम्युलेट करते हैं.
Android यूज़र इंटरफ़ेस (यूआई) विजेट का इस्तेमाल न करने वाली स्क्रीन को बेहतर तरीके से टेस्ट करने के लिए, मंकी ऐक्शन के आर्बिट्रेरी टैप को स्क्रिप्ट किए गए टैप और इंटरैक्शन के सेट से बदला जा सकता है. इसके लिए, Firebase Test Lab गेम लूप टेस्ट का इस्तेमाल करें.
Google Play के साथ इंटिग्रेशन
Google Play Console में रोबो टेस्ट का इस्तेमाल तब किया जा सकता है, जब ऐप्लिकेशन की APK फ़ाइल को ऐल्फ़ा या बीटा चैनल का इस्तेमाल करके अपलोड और पब्लिश किया जाता है. रोबो टेस्ट, अलग-अलग भौगोलिक जगहों के लोकप्रिय फ़िज़िकल डिवाइसों के सेट पर चलता है. इससे अलग-अलग नाप या आकार और हार्डवेयर कॉन्फ़िगरेशन पर टेस्ट कवरेज मिलता है. ज़्यादा जानने के लिए, समस्याओं का पता लगाने के लिए, प्री-लॉन्च रिपोर्ट इस्तेमाल करना लेख पढ़ें.
टेस्ट खाते में साइन-इन करना और पहले से तय टेक्स्ट इनपुट
रोबो टेस्ट, टेस्ट खाते में साइन-इन करने की सुविधा देता है. साथ ही, यह आपको अपने ऐप्लिकेशन के फ़ील्ड में पहले से तय टेक्स्ट डालने की अनुमति देता है. कस्टम साइन-इन और पहले से तय किए गए अन्य टेक्स्ट इनपुट के लिए, रोबो टेस्ट आपके ऐप्लिकेशन के EditText फ़ील्ड में टेक्स्ट डाल सकता है. हर स्ट्रिंग के लिए, आपको Android रिसॉर्स के नाम का इस्तेमाल करके, EditText फ़ील्ड की पहचान करनी होगी. ज़्यादा जानने के लिए, संसाधनों को ऐक्सेस करना लेख पढ़ें.
साइन-इन करें
रोबो टेस्ट में, साइन-इन करने के लिए दो अलग-अलग तरीके उपलब्ध हैं:
कस्टम साइन-इन: अगर आपने जांच वाले खाते के क्रेडेंशियल दिए हैं, तो आपको रोबो टेस्ट को बताना होगा कि उन्हें कहां डालना है. साथ ही, वे क्रेडेंशियल भी देने होंगे.
अपने-आप साइन इन होने की सुविधा: अगर आपने कस्टम साइन-इन के लिए, जांच वाले खाते के क्रेडेंशियल नहीं दिए हैं, तो अपने-आप साइन इन होने की सुविधा का इस्तेमाल किया जाता है. रोबो टेस्ट, स्टैंडर्ड Android विजेट या Compose ऐप्लिकेशन की मदद से बनाए गए ऐप्लिकेशन में, Google टेस्ट खाते का इस्तेमाल करके अपने-आप साइन इन कर सकता है.
कस्टम साइन-इन के लिए, टेस्ट खाते के क्रेडेंशियल देने के लिए, यह तरीका अपनाएं:
डाइमेंशन चुनें पेज पर, अन्य विकल्प चुनें.
जांच वाले खाते के क्रेडेंशियल (ज़रूरी नहीं) में जाकर, उपयोगकर्ता नाम और पासवर्ड के रिसॉर्स नेम डालें. साथ ही, जांच वाले खाते का उपयोगकर्ता नाम और पासवर्ड डालें.
पहले से तय टेक्स्ट इनपुट
आपके पास अपने ऐप्लिकेशन में इस्तेमाल किए जाने वाले अन्य टेक्स्ट फ़ील्ड के लिए, पसंद के मुताबिक इनपुट टेक्स्ट देने का विकल्प होता है. अन्य फ़ील्ड के लिए टेक्स्ट इनपुट देने के लिए, यह तरीका अपनाएं:
डाइमेंशन चुनें पेज पर, अन्य विकल्प चुनें.
अन्य फ़ील्ड (ज़रूरी नहीं) में जाकर, एक या उससे ज़्यादा संसाधन के नाम डालें. साथ ही, उनसे जुड़े टेक्स्ट फ़ील्ड में स्ट्रिंग डालें.
पहले से तय टेक्स्ट इनपुट {:#predefined-text} से जुड़ी गड़बड़ियां
रोबो टेस्ट, Android रिसॉर्स के नाम वाले EditText फ़ील्ड खोजता है. यह नाम, दिए गए रेगुलर एक्सप्रेशन से मैच करता है. अगर Robo को कोई मिलता-जुलता फ़ील्ड नहीं मिलता है, तो वह आपका टेक्स्ट नहीं डालता. हालांकि, वह हमेशा की तरह क्रॉल करना जारी रखता है.
डीप लिंक
जांच के लिए, आपके ऐप्लिकेशन में काम करने वाले ज़्यादा से ज़्यादा तीन डीप लिंक दिए जा सकते हैं.
डीप लिंक, आपके ऐप्लिकेशन को Android
ACTION_VIEW
इंटेंट के तौर पर जारी किए जाते हैं. इसलिए, हर लिंक आपके ऐप्लिकेशन में मौजूद किसी इंटेंट फ़िल्टर से मैच होना चाहिए.
अगर एक या उससे ज़्यादा डीप लिंक दिए जाते हैं, तो ऐप्लिकेशन को पहले सामान्य तरीके से लॉन्च किया जाता है. इसके लिए, ACTION_MAIN इंटेंट का इस्तेमाल किया जाता है. इसके बाद, तय किए गए टाइम आउट तक क्रॉल किया जाता है. मुख्य क्रॉल के बाद, हर डीप लिंक को 30 सेकंड तक क्रॉल किया जाता है.
डीप लिंक से जुड़ी गड़बड़ियां
अगर रोबो टेस्ट को आपके डीप लिंक से मैच होने वाली कोई गतिविधि नहीं मिलती है, तो Test Lab लिंक को अनदेखा कर देता है. डीप लिंक से जुड़ी समस्याएं, आम तौर पर दिए गए डीप लिंक और आपके ऐप्लिकेशन में मौजूद उसकी परिभाषा के बीच अंतर की वजह से होती हैं. दिए गए यूआरएल और अपने ऐप्लिकेशन, दोनों में टाइपो या अन्य गड़बड़ियों की जांच करें.
ऐप्लिकेशन के लिए लाइसेंस की प्रोसेस से जुड़ी सहायता
Test Lab, Google Play की ऐप्लिकेशन के लिए लाइसेंस की प्रोसेस सेवा का इस्तेमाल करने वाले ऐप्लिकेशन के साथ काम करता है. Test Lab की मदद से अपने ऐप्लिकेशन की जांच करते समय, लाइसेंस की जांच सही तरीके से करने के लिए, आपको Play Store में प्रोडक्शन चैनल पर अपना ऐप्लिकेशन पब्लिश करना होगा. Test Lab का इस्तेमाल करके, ऐल्फ़ा या बीटा चैनल में अपने ऐप्लिकेशन की जांच करने के लिए, ऐप्लिकेशन को Test Lab पर अपलोड करने से पहले, लाइसेंस की जांच करने की सुविधा को हटाएं.
अगले चरण
- रोबो स्क्रिप्ट का इस्तेमाल करके, टेस्ट को अपनी ज़रूरत के मुताबिक बनाएं.