रोबो टेस्ट, एक टेस्टिंग टूल है. इसे 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
फ़ील्ड की पहचान करनी होगी. ज़्यादा जानने के लिए, संसाधन ऐक्सेस करना लेख पढ़ें.
साइन-इन करें
रोबोट टेस्ट में, साइन इन करने के लिए दो तरीके उपलब्ध हैं. इनमें से किसी एक तरीके का इस्तेमाल किया जा सकता है:
कस्टम साइन-इन: अगर आपने टेस्ट खाते के क्रेडेंशियल दिए हैं, तो आपको रोबो टेस्ट को यह बताना होगा कि उन्हें कहां डालना है. साथ ही, आपको वे क्रेडेंशियल भी देने होंगे.
अपने-आप साइन इन होने की सुविधा: अगर आपके ऐप्लिकेशन में साइन इन करने की ऐसी स्क्रीन है जो पुष्टि करने के लिए Google खाते का इस्तेमाल करती है, तो रोबो टेस्ट, 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 में ऐप्लिकेशन अपलोड करने से पहले लाइसेंस की जांच करने की सुविधा हटा दें.
अगले चरण
- रोबो स्क्रिप्ट का इस्तेमाल करके, अपनी जांचों को पसंद के मुताबिक बनाएं.