रोबो परीक्षण चलाएं (एंड्रॉइड)

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

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

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

यदि आप iOS+ के लिए रोबो का बीटा संस्करण आज़माना चाहते हैं, तो रोबो टेस्ट चलाएँ देखें।

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

दाखिल करना

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

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

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

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

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

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

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

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

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

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

पूर्वनिर्धारित पाठ इनपुट {:#पूर्वनिर्धारित-पाठ} त्रुटियाँ

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

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

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

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

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

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

अगले कदम