रोबो टेस्ट, जांच करने वाला एक टूल है. इसे Firebase Test Lab के साथ इंटिग्रेट किया गया है. रोबो टेस्ट, आपके ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) के स्ट्रक्चर का विश्लेषण करता है. इसके बाद, यह व्यवस्थित तरीके से उसकी जांच करता है. साथ ही, उपयोगकर्ता की गतिविधियों को अपने-आप सिम्युलेट करता है. जब किसी खास डिवाइस कॉन्फ़िगरेशन पर, एक जैसी सेटिंग के साथ किसी ऐप्लिकेशन की जांच करने के लिए रोबो टेस्ट का इस्तेमाल किया जाता है, तो यह हमेशा एक ही क्रम में उपयोगकर्ता की गतिविधियों को सिम्युलेट करता है. जांच के इस तरीके को बार-बार दोहराया जा सकता है. इससे, रोबो टेस्ट का इस्तेमाल करके, गड़बड़ियों को ठीक करने की पुष्टि की जा सकती है. साथ ही, रिग्रेशन की जांच की जा सकती है.
रोबो टेस्ट, लॉग फ़ाइलें कैप्चर करता है. साथ ही, एनोटेट किए गए स्क्रीनशॉट की सीरीज़ सेव करता है. इसके बाद, इन स्क्रीनशॉट से एक वीडियो बनाता है. इससे आपको सिम्युलेट की गई उपयोगकर्ता कार्रवाइयां दिखती हैं. इन लॉग, स्क्रीनशॉट, और वीडियो की मदद से, ऐप्लिकेशन के क्रैश होने की वजह का पता लगाया जा सकता है. रोबो टेस्ट की इन सुविधाओं की मदद से, आपके ऐप्लिकेशन के यूआई से जुड़ी समस्याओं का भी पता लगाया जा सकता है.
रोबो टेस्ट की सामान्य जांच के अलावा, रोबो स्क्रिप्ट का इस्तेमाल करके अपनी जांच को पसंद के मुताबिक बनाया जा सकता है. रोबो स्क्रिप्ट, रोबो टेस्ट की एक सुविधा है. ज़्यादा जानने के लिए, रोबो स्क्रिप्ट चलाना लेख पढ़ें.
अगर आपको iOS+ के लिए रोबो के बीटा वर्शन को आज़माना है, तो रोबो टेस्ट चलाना लेख पढ़ें.
रोबो टेस्ट के क्रॉल करने के बारे में आंकड़े
रोबो टेस्ट के नतीजों को समझने में आपकी मदद करने के लिए, रोबो टेस्ट, हर टेस्ट क्रॉल के दौरान आंकड़े रिकॉर्ड करता है. Test Lab आपके टेस्ट के नतीजों वाले पेज पर, रोबो टेस्ट टैब में सबसे ऊपर आंकड़े दिखाता है:
कार्रवाइयां: क्रॉल के दौरान की गई कार्रवाइयों की कुल संख्या. इसमें रोबो स्क्रिप्ट की कार्रवाइयां, मंकी ऐक्शन, और रोबो के निर्देश शामिल हैं.
गतिविधियां: क्रॉल के दौरान कवर की गई अलग-अलग गतिविधियों की संख्या.
स्क्रीन: क्रॉल के दौरान देखी गई अलग-अलग स्क्रीन की संख्या.
Test Lab आंकड़ों का इस्तेमाल करके, क्रॉल ग्राफ़ के तौर पर रोबो टेस्ट का विज़ुअल प्रतिनिधित्व भी बनाता है. ग्राफ़ में, स्क्रीन को नोड और कार्रवाइयों को एज के तौर पर दिखाया जाता है. स्क्रीन के बीच मौजूद एज को फ़ॉलो करके, यह जाना जा सकता है कि रोबो टेस्ट ने क्रॉल के दौरान आपके ऐप्लिकेशन को कैसे ट्रैवर्स किया.
रोबो टेस्ट का टाइम आउट
आपके ऐप्लिकेशन के यूआई की जटिलता के आधार पर, रोबो टेस्ट को यूआई के इंटरैक्शन के सेट को पूरी तरह से पूरा करने में पांच मिनट या उससे ज़्यादा समय लग सकता है. हमारा सुझाव है कि ज़्यादातर ऐप्लिकेशन के लिए, टेस्ट का टाइम आउट कम से कम 120 सेकंड (दो मिनट) और सामान्य तौर पर जटिल ऐप्लिकेशन के लिए 300 सेकंड (पांच मिनट) सेट करें. Android Studio और Firebase कंसोल से चलाए गए टेस्ट के लिए, टाइम आउट की डिफ़ॉल्ट वैल्यू 300 सेकंड (पांच मिनट) होती है. वहीं, gcloud कमांड लाइन से चलाए गए टेस्ट के लिए, यह वैल्यू 900 सेकंड (15 मिनट) होती है.
ऐप्लिकेशन के स्टार्टअप में होने वाली गड़बड़ियों के लिए टाइम आउट
अगर आपका ऐप्लिकेशन शुरू होने में ज़्यादा समय लेता है, तो रोबो टेस्ट में गड़बड़ी हो सकती है. साथ ही, यह आपके ऐप्लिकेशन को क्रॉल नहीं कर पाएगा. ऐसा सिर्फ़ तब होता है, जब ऐप्लिकेशन शुरू होने में बहुत ज़्यादा समय लगता है. इस समस्या को ठीक करने के लिए, आपको अपने ऐप्लिकेशन में बदलाव करना होगा, ताकि वह तेज़ी से शुरू हो सके.
रोबो स्क्रिप्ट की मदद से ज़्यादा कंट्रोल पाना
कभी-कभी आपको अपने टेस्ट पर ज़्यादा कंट्रोल की ज़रूरत होती है. उदाहरण के लिए, हो सकता है कि आपको सामान्य उपयोगकर्ता अनुभव की जांच करनी हो या यूआई के लिए खास इनपुट देना हो, जैसे कि उपयोगकर्ता नाम और पासवर्ड. रोबो स्क्रिप्ट इसमें आपकी मदद कर सकती हैं. रोबो स्क्रिप्ट के बारे में ज़्यादा जानने के लिए, रोबो स्क्रिप्ट चलाना और रोबो स्क्रिप्ट के रेफ़रंस के लिए गाइड लेख पढ़ें.
रोबो टेस्ट और Android के अलावा अन्य यूआई विजेट
रोबो टेस्ट, Android यूआई विजेट पर सीधे कार्रवाइयां करने के लिए, Android API का इस्तेमाल करते हैं. इससे टेस्ट, आपके यूआई की जांच अपने-आप कर पाते हैं. हालांकि, इसका मतलब यह भी है कि उन्हें किसी स्क्रीन पर टेस्ट चलाने के लिए, Android यूआई के क्रम को एक्सट्रैक्ट करना होगा.
अगर आपके ऐप्लिकेशन की कोई स्क्रीन, Android यूआई विजेट का इस्तेमाल नहीं करती है, तो रोबो टेस्ट उस स्क्रीन की जांच करने के लिए, मंकी ऐक्शन का इस्तेमाल करते हैं. रोबो टेस्ट की कार्रवाइयों के मुकाबले, मंकी ऐक्शन सिर्फ़ किसी डिवाइस की स्क्रीन पर, सेमी-रैंडम जगहों पर टैप इवेंट को सिम्युलेट करते हैं.
Android यूआई विजेट का इस्तेमाल न करने वाली स्क्रीन की बेहतर तरीके से जांच करने के लिए, स्क्रिप्ट किए गए टैप और इंटरैक्शन के सेट से, मंकी ऐक्शन के मनमाने टैप को बदला जा सकता है Firebase Test Lab गेम लूप टेस्ट की मदद से.
Google Play के साथ इंटिग्रेशन
अल्फ़ा या बीटा चैनल का इस्तेमाल करके, अपने ऐप्लिकेशन की APK फ़ाइल अपलोड और पब्लिश करते समय, Google Play Console में रोबो टेस्ट का इस्तेमाल किया जा सकता है. रोबो टेस्ट, अलग-अलग भौगोलिक जगहों के लोकप्रिय फ़िज़िकल डिवाइसों के सेट पर चलता है. इससे, अलग-अलग फ़ॉर्म फ़ैक्टर और हार्डवेयर कॉन्फ़िगरेशन पर टेस्ट कवरेज मिलता है. ज़्यादा जानने के लिए, समस्याओं का पता लगाने के लिए, लॉन्च से पहले की रिपोर्ट का इस्तेमाल करना लेख पढ़ें.
टेस्ट खाते में साइन इन करना और पहले से तय टेक्स्ट इनपुट करना
रोबो टेस्ट, टेस्ट खाते में साइन इन करने की सुविधा के साथ काम करता है. साथ ही, यह आपको अपने ऐप्लिकेशन में फ़ील्ड में पहले से तय
टेक्स्ट डालने की अनुमति देता है. पसंद के मुताबिक साइन इन करने और पहले से तय अन्य टेक्स्ट
इनपुट के लिए, रोबो टेस्ट आपके ऐप्लिकेशन में
EditText
फ़ील्ड में टेक्स्ट डाल सकता है. हर स्ट्रिंग के लिए, आपको Android रिसॉर्स के नाम का इस्तेमाल करके, EditText फ़ील्ड
की पहचान करनी होगी. ज़्यादा जानने के लिए, रिसॉर्स ऐक्सेस करना लेख पढ़ें.
साइन-इन करें
रोबो टेस्ट में, साइन-इन करने के लिए दो अलग-अलग तरीके हैं:
पसंद के मुताबिक साइन-इन: अगर टेस्ट खाते के क्रेडेंशियल दिए जाते हैं, तो आपको रोबो टेस्ट को यह बताना होगा कि उन्हें कहां डालना है. साथ ही, आपको वे क्रेडेंशियल भी देने होंगे.
अपने-आप साइन-इन: अगर पसंद के मुताबिक साइन-इन के लिए, टेस्ट खाते के क्रेडेंशियल नहीं दिए जाते हैं, तो अपने-आप साइन-इन करने की सुविधा का इस्तेमाल किया जाता है. रोबो टेस्ट, Google के टेस्ट खाते का इस्तेमाल करके, स्टैंडर्ड Android विजेट या Compose ऐप्लिकेशन से बनाए गए ऐप्लिकेशन में अपने-आप साइन इन कर सकता है.
पसंद के मुताबिक साइन-इन के लिए, टेस्ट खाते के क्रेडेंशियल देने के लिए, यह तरीका अपनाएं:
डाइमेंशन चुनें पेज पर, अन्य विकल्प चुनें.
टेस्ट खाते के क्रेडेंशियल (ज़रूरी नहीं) में, उपयोगकर्ता नाम और पासवर्ड के रिसॉर्स के नाम और टेस्ट खाते के लिए उपयोगकर्ता नाम और पासवर्ड डालें.
पहले से तय टेक्स्ट इनपुट करना
आपके पास अपने ऐप्लिकेशन के इस्तेमाल किए जाने वाले अन्य टेक्स्ट फ़ील्ड के लिए, पसंद के मुताबिक इनपुट टेक्स्ट देने का विकल्प होता है. अन्य फ़ील्ड के लिए टेक्स्ट इनपुट करने के लिए, यह तरीका अपनाएं:
डाइमेंशन चुनें पेज पर, अन्य विकल्प चुनें.
अन्य फ़ील्ड (ज़रूरी नहीं) में, एक या उससे ज़्यादा रिसॉर्स के नाम और उनसे जुड़े टेक्स्ट फ़ील्ड में डालने के लिए स्ट्रिंग डालें.
पहले से तय टेक्स्ट इनपुट {:#predefined-text} से जुड़ी गड़बड़ियां
रोबो टेस्ट, EditText फ़ील्ड को Android रिसॉर्स के नाम से खोजता है. यह नाम, दिए गए रेगुलर एक्सप्रेशन से मेल खाता है. अगर रोबो को मेल खाने वाला फ़ील्ड नहीं मिलता है, तो वह आपका टेक्स्ट इनपुट नहीं करता. हालांकि, वह सामान्य तरीके से क्रॉल करना जारी रखता है.
डीप लिंक
टेस्टिंग के लिए, आपके पास अपने ऐप्लिकेशन के तीन डीप लिंक
देने का विकल्प होता है.
डीप लिंक, आपके ऐप्लिकेशन को Android
ACTION_VIEW
इंटेंट के तौर पर जारी किए जाते हैं. इसलिए, हर लिंक आपके ऐप्लिकेशन में मौजूद इंटेंट फ़िल्टर से मेल खाना चाहिए.
अगर एक या उससे ज़्यादा डीप लिंक दिए जाते हैं, तो ऐप्लिकेशन को पहले सामान्य तरीके से (इंटेंट
ACTION_MAIN
का इस्तेमाल करके) लॉन्च किया जाता है. इसके बाद, तय किए गए टाइम आउट तक उसे क्रॉल किया जाता है. मुख्य क्रॉल के बाद, हर डीप लिंक को 30 सेकंड के लिए क्रॉल किया जाता है.
डीप लिंक से जुड़ी गड़बड़ियां
अगर रोबो टेस्ट को आपके डीप लिंक से मेल खाने वाली कोई गतिविधि नहीं मिलती है, तो Test Lab उस लिंक को अनदेखा कर देता है. डीप लिंक से जुड़ी समस्याएं आम तौर पर, दिए गए डीप लिंक और आपके ऐप्लिकेशन में उसकी परिभाषा के बीच अंतर की वजह से होती हैं. दिए गए यूआरएल और अपने ऐप्लिकेशन, दोनों में टाइप की गड़बड़ियां या अन्य गड़बड़ियां देखें.
ऐप्लिकेशन लाइसेंसिंग की सुविधा
Test Lab Google Play की ओर से दी जाने वाली ऐप्लिकेशन लाइसेंसिंग सेवा का इस्तेमाल करने वाले ऐप्लिकेशन के साथ काम करता है. Test Lab की मदद से अपने ऐप्लिकेशन की जांच करते समय, लाइसेंसिंग की सुविधा की जांच करने के लिए, आपको अपने ऐप्लिकेशन को Play Store के प्रोडक्शन चैनल पर पब्लिश करना होगा. Test Lab का इस्तेमाल करके, अपने ऐप्लिकेशन को अल्फ़ा या बीटा चैनल में टेस्ट करने के लिए, Test Lab पर अपना ऐप्लिकेशन अपलोड करने से पहले, लाइसेंसिंग की सुविधा की जांच करने की सेटिंग हटाएं.Test Lab