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