Catch up on highlights from Firebase at Google I/O 2023. Learn more

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

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

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

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

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

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

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

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

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

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

रोबो टेस्ट टाइमआउट

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

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

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

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

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

रोबो परीक्षण और गैर-एंड्रॉइड यूआई विजेट

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

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

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

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

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

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

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

दाखिल करना

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ज्ञात पहलु

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

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

अगले कदम