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