रोबो टेस्ट चलाएं

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

रोबो परीक्षण लॉग फ़ाइलों को कैप्चर करता है, एनोटेट किए गए स्क्रीनशॉट की एक श्रृंखला को सहेजता है, और फिर उन स्क्रीनशॉट से एक वीडियो बनाता है जो आपको नकली उपयोगकर्ता संचालन दिखाता है जो उसने किया था। ये लॉग, स्क्रीनशॉट और वीडियो ऐप क्रैश के मूल कारण को निर्धारित करने में आपकी सहायता कर सकते हैं। ये रोबो परीक्षण सुविधाएं आपके ऐप के UI के साथ समस्याओं का पता लगाने में भी आपकी सहायता कर सकती हैं।

नियमित रोबो परीक्षण चलाने के अलावा, आप रोबो स्क्रिप्ट का उपयोग करके अपने परीक्षणों को अनुकूलित कर सकते हैं, जो कि रोबो परीक्षणों की एक विशेषता है। अधिक जानने के लिए, रोबो स्क्रिप्ट चलाएँ देखें।

रोबो परीक्षण क्रॉल आँकड़े

आपके रोबो परीक्षण परिणामों की व्याख्या करने में आपकी सहायता के लिए, रोबो परीक्षण प्रत्येक परीक्षण क्रॉल के दौरान आंकड़े रिकॉर्ड करता है। परीक्षण लैब आपके परीक्षण परिणाम पृष्ठ में रोबो परीक्षण टैब के शीर्ष पर आँकड़े प्रदर्शित करता है:

  • क्रियाएँ: क्रॉल के दौरान की गई क्रियाओं की कुल संख्या, जिसमें रोबो स्क्रिप्ट क्रियाएँ, मंकी क्रियाएँ और रोबो निर्देश शामिल हैं।

  • क्रियाएँ: क्रॉल के दौरान कवर की गई विशिष्ट गतिविधियों की संख्या।

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

टेस्ट लैब क्रॉल ग्राफ़ के रूप में रोबो परीक्षण का एक दृश्य प्रतिनिधित्व बनाने के लिए आँकड़ों का भी उपयोग करता है। ग्राफ़ में इसके नोड्स के रूप में स्क्रीन और किनारों के रूप में कार्य होते हैं। स्क्रीन के बीच किनारों का अनुसरण करके, आप इस बात का अंदाजा लगा सकते हैं कि रोबो परीक्षण ने आपके ऐप को पूरे क्रॉल में कैसे पार किया।

रोबो परीक्षण समयबाह्य

आपके ऐप्लिकेशन के UI की जटिलता के आधार पर, UI इंटरैक्शन के संपूर्ण सेट को पूरा करने के लिए Robo परीक्षण में पांच मिनट या उससे अधिक समय लग सकता है। हम अनुशंसा करते हैं कि अधिकांश ऐप्स के लिए परीक्षण टाइमआउट को कम से कम 120 सेकंड (2 मिनट) और मध्यम रूप से जटिल ऐप्स के लिए 300 सेकंड (5 मिनट) पर सेट करें। एंड्रॉइड स्टूडियो और फायरबेस कंसोल से चलने वाले परीक्षणों के लिए टाइमआउट के लिए डिफ़ॉल्ट मान 300 सेकंड (5 मिनट) और gcloud कमांड लाइन से चलने वाले परीक्षणों के लिए 900 सेकंड (15 मिनट) है।

ऐप स्टार्ट-अप टाइमआउट त्रुटियां

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

रोबो स्क्रिप्ट के साथ अधिक नियंत्रण

कभी-कभी आपको अपने परीक्षणों पर अधिक नियंत्रण की आवश्यकता होती है। उदाहरण के लिए, हो सकता है कि आप किसी सामान्य उपयोगकर्ता यात्रा का परीक्षण करना चाहें या उपयोगकर्ता नाम और पासवर्ड जैसे विशिष्ट UI इनपुट प्रदान करना चाहें। रोबो स्क्रिप्ट मदद कर सकती है। रोबो स्क्रिप्ट के बारे में अधिक जानने के लिए, रोबो स्क्रिप्ट चलाएँ और रोबो स्क्रिप्ट संदर्भ मार्गदर्शिका देखें।

रोबो परीक्षण और गैर-Android UI विजेट

रोबो परीक्षण सीधे Android UI विजेट पर कार्रवाई करने के लिए Android API का उपयोग करते हैं। इससे परीक्षणों को स्वचालित रूप से आपके UI का पता लगाने में मदद मिलती है, लेकिन इसका मतलब यह भी है कि उन्हें स्क्रीन पर परीक्षण चलाने के लिए एक Android UI पदानुक्रम निकालने में सक्षम होना चाहिए।

यदि आपके ऐप की कोई स्क्रीन Android UI विजेट का उपयोग नहीं करती है, तो रोबो परीक्षण उस स्क्रीन का परीक्षण करने के लिए बंदर क्रियाओं पर वापस आते हैं। अधिक व्यवस्थित रोबो परीक्षण क्रियाओं के विपरीत, बंदर क्रियाएँ केवल डिवाइस की स्क्रीन पर अर्ध-यादृच्छिक स्थानों पर टैप ईवेंट का अनुकरण करती हैं।

Android UI विजेट का उपयोग नहीं करने वाली स्क्रीन का बेहतर परीक्षण करने के लिए, आप Firebase टेस्ट लैब गेम लूप टेस्ट के माध्यम से मंकी एक्शन के मनमाने टैप को स्क्रिप्टेड टैप और इंटरैक्शन के सेट से बदल सकते हैं।

Google Play के साथ एकीकरण

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

परीक्षण खाता साइन-इन और पूर्वनिर्धारित पाठ इनपुट

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

साइन इन करें

साइन-इन का समर्थन करने के लिए रोबो परीक्षण में दो परस्पर-अनन्य विधियां हैं:

  • कस्टम साइन-इन: यदि आप टेस्ट अकाउंट क्रेडेंशियल प्रदान करते हैं, तो आपको रोबो टेस्ट को यह बताना होगा कि उन्हें कहां दर्ज करना है, और वे क्रेडेंशियल भी प्रदान करें।

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

कस्टम साइन-इन के लिए परीक्षण खाता क्रेडेंशियल प्रदान करने के लिए, निम्न कार्य करें:

  1. आयाम चुनें पृष्ठ पर, अतिरिक्त विकल्प चुनें.

  2. टेस्ट अकाउंट क्रेडेंशियल्स (वैकल्पिक) के तहत, उपयोगकर्ता नाम और पासवर्ड संसाधन नाम और परीक्षण खाते के लिए उपयोगकर्ता नाम और पासवर्ड दर्ज करें।

पूर्वनिर्धारित पाठ इनपुट

आप अपने ऐप द्वारा उपयोग किए जाने वाले अन्य टेक्स्ट फ़ील्ड के लिए कस्टम इनपुट टेक्स्ट प्रदान कर सकते हैं। अतिरिक्त फ़ील्ड के लिए टेक्स्ट इनपुट प्रदान करने के लिए, निम्न कार्य करें:

  1. आयाम चुनें पृष्ठ पर, अतिरिक्त विकल्प चुनें.

  2. अतिरिक्त फ़ील्ड (वैकल्पिक) के अंतर्गत, एक या अधिक संसाधन नाम दर्ज करें, और संबंधित टेक्स्ट फ़ील्ड में दर्ज करने के लिए स्ट्रिंग्स दर्ज करें।

पूर्वनिर्धारित पाठ इनपुट त्रुटियाँ

रोबो परीक्षण एक एंड्रॉइड संसाधन नाम के साथ EditText फ़ील्ड की खोज करता है जो आपूर्ति की गई नियमित अभिव्यक्ति से मेल खाता है। यदि रोबो को मेल खाने वाली फ़ील्ड नहीं मिलती है, तो यह आपके टेक्स्ट को इनपुट नहीं करता है, लेकिन अन्यथा हमेशा की तरह अपना क्रॉल जारी रखता है।

आप परीक्षण के लिए अपने ऐप द्वारा समर्थित अधिकतम तीन डीप लिंक प्रदान कर सकते हैं। आपके ऐप को Android ACTION_VIEW के रूप में डीप लिंक जारी किए गए हैं। इसलिए, प्रत्येक लिंक को आपके ऐप में एक इंटेंट फ़िल्टर से मेल खाना चाहिए।

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

यदि रोबो परीक्षण आपके डीप लिंक से मेल खाने वाली गतिविधि नहीं ढूंढ पाता है, तो टेस्ट लैब लिंक को अनदेखा कर देता है। डीप लिंक की समस्याएं आमतौर पर आपके ऐप में दिए गए डीप लिंक और इसकी परिभाषा के बीच विसंगति का परिणाम होती हैं। टाइपो या अन्य विसंगतियों के लिए दिए गए URL और अपने ऐप दोनों की जाँच करें।

ऐप लाइसेंसिंग समर्थन

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

ज्ञात पहलु

रोबो परीक्षण में वर्तमान में निम्नलिखित ज्ञात सीमाएँ हैं:

  • UI फ्रेमवर्क समर्थन: रोबो परीक्षण केवल उन ऐप्स के साथ संगत है जो Android UI फ्रेमवर्क से UI तत्वों का उपयोग करते हैं ( View और ViewGroup ऑब्जेक्ट्स सहित, लेकिन WebView ऑब्जेक्ट्स को छोड़कर)। यदि आप अन्य UI फ़्रेमवर्क का उपयोग करने वाले ऐप्स का उपयोग करने के लिए Robo परीक्षण का उपयोग करते हैं, जिसमें यूनिटी गेम इंजन का उपयोग करने वाले ऐप्स भी शामिल हैं, तो परीक्षण पहली स्क्रीन के बाहर खोज किए बिना बाहर निकल सकता है।
  • साइन-इन कैप्चा: रोबो परीक्षण साइन-इन स्क्रीन को बायपास नहीं कर सकता है जिसके लिए साइन इन करने के लिए क्रेडेंशियल दर्ज करने से परे अतिरिक्त उपयोगकर्ता कार्रवाई की आवश्यकता होती है, उदाहरण के लिए, कैप्चा को पूरा करना।

अगले कदम