Google 致力于为黑人社区推动种族平等。查看具体举措
इस पेज का अनुवाद Cloud Translation API से किया गया है.
Switch to English

रोबो परीक्षणों से शुरू करें

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

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

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

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

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

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

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

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

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

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

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

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

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

Android स्टूडियो में फायरबेस टूल के माध्यम से रोबो स्क्रिप्टिंग के साथ शुरुआत करें:

  1. Android स्टूडियो खोलें।
  2. मुख्य मेनू में, उपकरण > फायरबेस चुनें
  3. टेस्ट लैब का चयन करें और रिकॉर्ड रोबो स्क्रिप्ट पर क्लिक करें और इसे गाइड रोबो टेस्ट के लिए उपयोग करें
  4. अपने रोबो स्क्रिप्ट को रिकॉर्ड करने के लिए टूल के बाकी चरणों का पालन करें।
  5. उस रोबो स्क्रिप्ट को टेस्ट लैब में अपलोड करें और अपना टेस्ट शुरू करें।

रोबो स्क्रिप्ट की त्रुटियाँ

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

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

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

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

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

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

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

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

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

साइन इन करें

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

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

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

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

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

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

  1. आयाम पृष्ठ का चयन करें , अतिरिक्त विकल्प चुनें
  2. अतिरिक्त फ़ील्ड्स (वैकल्पिक) के तहत, एक या एक से अधिक संसाधन नाम और स्ट्रिंग को संबंधित पाठ फ़ील्ड में दर्ज करें।

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

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

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

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

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

एप्लिकेशन लाइसेंस समर्थन

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

ज्ञात पहलु

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

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