रोबो टेस्ट चलाना (Android)

रोबो टेस्ट एक टेस्टिंग टूल है, जिसे Firebase टेस्ट लैब के साथ इंटिग्रेट किया गया है. रोबो टेस्ट आपके ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) की बनावट का विश्लेषण करता है और उपयोगकर्ता की गतिविधियों को अपने-आप सिम्युलेट करता है. इससे ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) की जांच होती है. रोबो टेस्ट हमेशा एक ही उपयोगकर्ता की गतिविधियों को एक ही क्रम में सिम्युलेट करता है. ऐसा तब होता है, जब किसी खास डिवाइस कॉन्फ़िगरेशन पर एक जैसे सेटिंग वाले ऐप्लिकेशन की जांच की जाती है. टेस्ट करने के इस तरीके को बार-बार इस्तेमाल करके, गड़बड़ियों को ठीक करने और रिग्रेशन की जांच करने के लिए रोबो टेस्ट का इस्तेमाल किया जा सकता है.

रोबो टेस्ट, लॉग फ़ाइलों को कैप्चर करता है, एनोटेशन वाले स्क्रीनशॉट सेव करता है, और उन स्क्रीनशॉट से एक वीडियो बनाता है. इससे आपको उपयोगकर्ता की उस कार्रवाई को दिखाया जाता है जिसे सिम्युलेट किया गया है. ये लॉग, स्क्रीनशॉट, और वीडियो ऐप्लिकेशन क्रैश होने की मुख्य वजह का पता लगाने में आपकी मदद कर सकते हैं. इन रोबो टेस्ट की सुविधाओं से, आपको अपने ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) में समस्याएं ढूंढने में भी मदद मिल सकती है.

नियमित रूप से रोबो टेस्ट करने के अलावा, रोबो स्क्रिप्ट का इस्तेमाल करके भी टेस्ट को अपनी पसंद के मुताबिक बनाया जा सकता है. रोबो स्क्रिप्ट, रोबो टेस्टिंग की एक सुविधा है. ज़्यादा जानने के लिए, रोबो स्क्रिप्ट चलाना लेख पढ़ें.

अगर आपको iOS+ के लिए रोबो का बीटा वर्शन आज़माना है, तो Robo टेस्ट चलाना लेख पढ़ें.

रोबो टेस्ट क्रॉल के आंकड़े

आपके रोबो टेस्ट के नतीजों को समझने में आपकी मदद करने के लिए, Robo टेस्ट हर बार क्रॉल किए जाने के दौरान आंकड़े रिकॉर्ड करता है. टेस्ट लैब आपके टेस्ट नतीजों वाले पेज में, रोबो टेस्ट टैब में सबसे ऊपर आंकड़े दिखाता है:

  • कार्रवाइयां: क्रॉल के दौरान की गई कुल कार्रवाइयों की संख्या. इनमें रोबो स्क्रिप्ट, बंदर की कार्रवाइयां, और रोबो डायरेक्टिव शामिल हैं.

  • गतिविधियां: क्रॉल के दौरान शामिल की गई अलग-अलग गतिविधियों की संख्या.

  • स्क्रीन: क्रॉल के दौरान देखी गई अलग-अलग स्क्रीन की संख्या.

टेस्ट लैब, आंकड़ों का इस्तेमाल करके क्रॉल ग्राफ़ के रूप में रोबो टेस्ट को विज़ुअल तरीके से दिखाता है. ग्राफ़ में नोड के रूप में स्क्रीन और किनारों के रूप में कार्रवाइयां होती हैं. स्क्रीन के बीच के किनारों पर नज़र रखकर, आप यह अनुमान लगा सकते हैं कि रोबो टेस्ट ने क्रॉल के दौरान आपके ऐप्लिकेशन को कैसे पार किया.

रोबो टेस्ट के लिए टाइम आउट

आपके ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) की जटिलता के आधार पर, रोबो टेस्ट को यूज़र इंटरफ़ेस (यूआई) इंटरैक्शन के पूरे सेट को पूरा करने में पांच मिनट या उससे ज़्यादा समय लग सकता है. हमारा सुझाव है कि ज़्यादातर ऐप्लिकेशन के लिए, टेस्ट टाइम आउट को कम से कम 120 सेकंड (2 मिनट) और थोड़ा मुश्किल ऐप्लिकेशन के लिए 300 सेकंड (5 मिनट) पर सेट करें. टाइम आउट की डिफ़ॉल्ट वैल्यू, Android Studio और Firebase कंसोल से चलाए जाने वाले टेस्ट के लिए 300 सेकंड (5 मिनट) है. वहीं, gcloud कमांड लाइन से की जाने वाली टेस्ट के लिए, 900 सेकंड (15 मिनट) है.

ऐप्लिकेशन शुरू होने के समय से जुड़ी गड़बड़ियां

अगर आपके ऐप्लिकेशन को शुरू होने में ज़्यादा समय लगता है, तो रोबो टेस्ट में गड़बड़ी हो सकती है और वह आपके ऐप्लिकेशन को क्रॉल नहीं कर पाएगा. ऐसा सिर्फ़ बहुत लंबे स्टार्ट-अप समय के मामलों में होता है. इसे सिर्फ़ अपने ऐप्लिकेशन में बदलाव करके ठीक किया जा सकता है, ताकि यह तेज़ी से शुरू हो सके.

रोबो स्क्रिप्ट की मदद से ज़्यादा कंट्रोल पाएं

कभी-कभी आपको जांच पर ज़्यादा कंट्रोल की ज़रूरत होती है. उदाहरण के लिए, हो सकता है कि आप उपयोगकर्ता के किसी सामान्य अनुभव को टेस्ट करना चाहें या उपयोगकर्ता नाम और पासवर्ड जैसे खास यूज़र इंटरफ़ेस (यूआई) इनपुट देना चाहें. रोबो स्क्रिप्ट से मदद मिल सकती है. रोबो स्क्रिप्ट के बारे में ज़्यादा जानने के लिए, रोबो स्क्रिप्ट चलाना और रोबो स्क्रिप्ट के रेफ़रंस गाइड पढ़ें.

रोबो टेस्ट और बिना Android वाले यूज़र इंटरफ़ेस (यूआई) के विजेट

रोबो टेस्ट, Android के यूज़र इंटरफ़ेस (यूआई) विजेट पर सीधे कार्रवाइयां करने के लिए, Android API का इस्तेमाल करते हैं. इससे, टेस्ट को आपके यूज़र इंटरफ़ेस (यूआई) को अपने-आप एक्सप्लोर करने में मदद मिलती है. साथ ही, इसका मतलब यह भी है कि स्क्रीन पर टेस्ट चलाने के लिए, उन्हें Android यूज़र इंटरफ़ेस (यूआई) की हैरारकी को एक्सट्रैक्ट करना होगा.

अगर आपके ऐप्लिकेशन की कोई स्क्रीन Android यूज़र इंटरफ़ेस (यूआई) विजेट का इस्तेमाल नहीं करती है, तो उस स्क्रीन की जांच करने के लिए रोबो टेस्ट, Monkey Actions पर वापस आता है. रोबो के लिए टेस्ट करने के तरीके से अलग, Monkey Actions डिवाइस की स्क्रीन पर, सेमी-रैंडम लोकेशन पर टैप इवेंट को सिम्युलेट करता है.

Android यूज़र इंटरफ़ेस (यूआई) विजेट का इस्तेमाल न करने वाली स्क्रीन को बेहतर तरीके से टेस्ट करने के लिए, Firebase टेस्ट लैब के गेम लूप टेस्ट की मदद से, Monkey Action के आर्बिट्ररी टैप को, स्क्रिप्ट किए गए टैप और इंटरैक्शन के सेट से बदला जा सकता है.

Google Play के साथ इंटिग्रेशन

आप ऐल्फ़ा या बीटा चैनल का इस्तेमाल करके अपने ऐप्लिकेशन की APK फ़ाइल अपलोड और प्रकाशित करते समय Google Play Console में रोबो टेस्ट का इस्तेमाल कर सकते हैं. रोबो टेस्ट, अलग-अलग भौगोलिक जगहों के लोकप्रिय फ़िज़िकल डिवाइसों पर किया जाता है. इससे, अलग-अलग डिवाइस टाइप और हार्डवेयर कॉन्फ़िगरेशन के लिए टेस्ट कवरेज मिलता है. ज़्यादा जानने के लिए, समस्याओं का पता लगाने के लिए प्री-लॉन्च रिपोर्ट का इस्तेमाल करना देखें.

खाते में साइन इन करने और पहले से तय किए गए टेक्स्ट इनपुट की जांच करें

रोबो टेस्ट, टेस्ट खाते में साइन-इन करने की सुविधा देता है. साथ ही, ऐप्लिकेशन के फ़ील्ड में पहले से तय टेक्स्ट भी डाला जा सकता है. पसंद के मुताबिक साइन-इन और पहले से तय टेक्स्ट इनपुट के लिए, रोबो टेस्ट आपके ऐप्लिकेशन के EditText फ़ील्ड में टेक्स्ट डाल सकता है. हर स्ट्रिंग के लिए, आपको Android संसाधन के नाम का इस्तेमाल करके EditText फ़ील्ड की पहचान करनी होगी. ज़्यादा जानने के लिए, संसाधन ऐक्सेस करना लेख पढ़ें.

साइन-इन

रोबो टेस्ट में साइन-इन करने के दो खास तरीके हैं, जो किसी एक व्यक्ति को खास तौर पर नहीं मिलते:

  • पसंद के मुताबिक साइन-इन: अगर जांच वाले खाते के क्रेडेंशियल दिए जाते हैं, तो आपको यह बताना होगा कि Robo टेस्ट में उन्हें कहां डालना है. साथ ही, आपको वे क्रेडेंशियल भी देने होंगे.

  • अपने-आप साइन-इन होना: अगर आपके ऐप्लिकेशन में ऐसी साइन-इन स्क्रीन है जो पुष्टि करने के लिए Google खाते का इस्तेमाल करती है, तो रोबो टेस्ट, Google टेस्ट खाते का इस्तेमाल करता है. ऐसा तब तक होता है, जब तक कस्टम साइन-इन के लिए, टेस्ट खाते के क्रेडेंशियल उपलब्ध न हों.

अगर आपको पसंद के मुताबिक साइन-इन करने के लिए, जांच वाले खाते के क्रेडेंशियल देने हैं, तो यह तरीका अपनाएं:

  1. डाइमेंशन चुनें पेज पर, अन्य विकल्प चुनें.

  2. जांच वाले खाते के क्रेडेंशियल (ज़रूरी नहीं) में जाकर, उपयोगकर्ता नाम और पासवर्ड के रिसॉर्स के नाम के साथ-साथ जांच वाले खाते का उपयोगकर्ता नाम और पासवर्ड डालें.

पहले से तय टेक्स्ट इनपुट

अपने ऐप्लिकेशन में इस्तेमाल किए जाने वाले अन्य टेक्स्ट फ़ील्ड के लिए, पसंद के मुताबिक इनपुट टेक्स्ट दिया जा सकता है. अतिरिक्त फ़ील्ड के लिए टेक्स्ट इनपुट देने के लिए, ये काम करें:

  1. डाइमेंशन चुनें पेज पर, अन्य विकल्प चुनें.

  2. अतिरिक्त फ़ील्ड (ज़रूरी नहीं) में जाकर, रिसॉर्स के एक या उससे ज़्यादा नाम और उनसे जुड़े टेक्स्ट फ़ील्ड में डालने के लिए स्ट्रिंग डालें.

पहले से तय टेक्स्ट इनपुट {:#prefix-text} गड़बड़ियां

रोबो टेस्ट, दिए गए रेगुलर एक्सप्रेशन से मेल खाने वाले Android रिसॉर्स के नाम से, EditText फ़ील्ड को खोजता है. अगर रोबो को मेल खाने वाला कोई फ़ील्ड नहीं मिलता, तो वह आपका टेक्स्ट नहीं डालता. हालांकि, वह सामान्य तरीके से क्रॉल करना जारी रखता है.

आप अपने ऐप्लिकेशन के साथ, ज़्यादा से ज़्यादा तीन डीप लिंक जांच के लिए दे सकते हैं. डीप लिंक, आपके ऐप्लिकेशन के Android ACTION_VIEW इंटेंट के मुताबिक जारी किए जाते हैं. इसलिए, हर लिंक आपके ऐप्लिकेशन के इंटेंट फ़िल्टर से मेल खाना चाहिए.

अगर एक या एक से ज़्यादा डीप लिंक दिए गए हैं, तो ऐप्लिकेशन को सबसे पहले आम तौर पर (ACTION_MAIN इंटेंट का इस्तेमाल करके) लॉन्च किया जाता है और तय टाइम आउट तक क्रॉल किया जाता है. मुख्य क्रॉल के बाद, हर डीप लिंक को 30 सेकंड तक क्रॉल किया जाता है.

अगर रोबो टेस्ट को आपके डीप लिंक से मेल खाने वाली कोई गतिविधि नहीं मिलती, तो टेस्ट लैब लिंक को अनदेखा कर देता है. आम तौर पर, डीप लिंक की समस्याएं, दिए गए डीप लिंक और आपके ऐप्लिकेशन में उसकी परिभाषा के बीच अंतर की वजह से होती हैं. दिए गए यूआरएल और अपने ऐप्लिकेशन, दोनों की जांच करें कि टाइपिंग में कोई गड़बड़ी तो नहीं है.

ऐप्लिकेशन लाइसेंसिंग से जुड़ी सहायता

टेस्ट लैब उन ऐप्लिकेशन के साथ काम करता है जो Google Play की ऐप्लिकेशन लाइसेंसिंग सेवा का इस्तेमाल करते हैं. टेस्ट लैब के ज़रिए अपने ऐप्लिकेशन की टेस्टिंग के दौरान लाइसेंस की जांच करने के लिए, आपको अपने ऐप्लिकेशन को Play Store के प्रोडक्शन चैनल पर पब्लिश करना होगा. परीक्षण लैब का उपयोग करके अल्फ़ा या बीटा चैनल में अपने ऐप्लिकेशन का परीक्षण करने के लिए, अपने ऐप्लिकेशन को परीक्षण लैब में अपलोड करने से पहले लाइसेंसिंग जांच निकालें.

अगले चरण