रोबो स्क्रिप्ट चलाएँ (एंड्रॉइड)

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

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

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

पारंपरिक परीक्षण ढांचे की तुलना में रोबो स्क्रिप्ट के निम्नलिखित फायदे हैं:

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

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

  • विभिन्न ट्रिगरिंग स्थितियाँ, उदाहरण के लिए, किसी विशेष ऐप पैकेज का नाम सक्रिय होना (या नहीं) या स्क्रीन पर कोई विशिष्ट तत्व प्रदर्शित होना (या नहीं)।
  • निष्पादन नियंत्रण, उदाहरण के लिए, निष्पादन की अधिकतम संख्या, प्राथमिकता, प्रासंगिक क्रॉल चरण।
  • अपरंपरागत क्रिया प्रकार (सशर्त, तत्व-अनदेखा, स्क्रीन-बंद करना)।

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

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

निम्नलिखित करने के लिए अधिक उन्नत रोबो स्क्रिप्ट सुविधाओं का उपयोग करें:

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

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

एंड्रॉइड स्टूडियो में टेस्ट लैब का उपयोग करके रोबो स्क्रिप्ट रिकॉर्ड करें

एंड्रॉइड स्टूडियो में रोबो स्क्रिप्ट रिकॉर्डर आपको अपने डिवाइस पर ऐप के साथ सीधे इंटरैक्ट करके रोबो स्क्रिप्ट रिकॉर्ड करने देता है। एंड्रॉइड स्टूडियो में फायरबेस टूल के माध्यम से रोबो स्क्रिप्टिंग शुरू करने के लिए इन निर्देशों का पालन करें:

  1. एंड्रॉइड स्टूडियो खोलें और टूल्स -> फायरबेस चुनें।

  2. फायरबेस फलक में, रोबो स्क्रिप्ट रिकॉर्ड करें पर क्लिक करें और रोबो टेस्ट को निर्देशित करने के लिए इसका उपयोग करें

  3. रोबो स्क्रिप्ट रिकॉर्ड करें पर क्लिक करें. परिनियोजन लक्ष्य चुनें संवाद प्रकट होता है।

  4. उस डिवाइस का चयन करें जिसमें आप रोबो स्क्रिप्ट रिकॉर्ड करना चाहते हैं।

  5. डिवाइस में रोबो स्क्रिप्ट रिकॉर्ड करने के बाद, फ़ाइल को वांछित स्थान पर JSON फ़ाइल के रूप में सहेजें।

  6. फायरबेस कंसोल में टेस्ट लैब पेज खोलें और JSON स्क्रिप्ट फ़ाइल और एप्लिकेशन एपीके अपलोड करें।

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

  8. (वैकल्पिक) परीक्षण रिपोर्ट और वीडियो के लॉगकैट को कॉपी या डाउनलोड करने के लिए, स्रोत फ़ाइलें देखें पर क्लिक करें।

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

टेस्ट लैब में रोबो स्क्रिप्ट चलाएँ

टेस्ट लैब में रोबो स्क्रिप्ट चलाने के लिए, इन निर्देशों का पालन करें:

  1. फायरबेस कंसोल में टेस्ट लैब पेज खोलें।

  2. ऐप एपीके या एएबी फ़ील्ड में ऐप का एपीके या एएबी अपलोड करें।

  3. रोबो स्क्रिप्ट (वैकल्पिक) फ़ील्ड में अपनी रिकॉर्ड की गई या मैन्युअल रूप से बनाई गई रोबो स्क्रिप्ट फ़ाइल अपलोड करें।

स्थानीय रोबो परीक्षण चलाने के लिए रोबो स्क्रिप्ट प्रदान करें

स्थानीय रोबो परीक्षण चलाने के लिए रोबो स्क्रिप्ट प्रदान करने के लिए, निम्नलिखित रोबो परीक्षण विकल्प का उपयोग करें:

--robo-script-file <robo-script-path>

<robo-script-path> स्थानीय फ़ाइल सिस्टम में अपनी रोबो स्क्रिप्ट फ़ाइल के पथ से बदलें। स्थानीय रोबो परीक्षण चलाने के लिए निर्देशों का पालन करें।

जीक्लाउड सीएलआई परीक्षण आमंत्रण में रोबो स्क्रिप्ट निर्दिष्ट करें

Gcloud CLI परीक्षण आमंत्रण में रोबो स्क्रिप्ट निर्दिष्ट करने के लिए, निम्नलिखित gcloud CLI ध्वज का उपयोग करें:

--robo-script = <robo-script-path>

<robo-script-path> स्थानीय फ़ाइल सिस्टम में या क्लाउड स्टोरेज में gs:// नोटेशन का उपयोग करके अपनी रोबो स्क्रिप्ट फ़ाइल के पथ से बदलें। उदाहरण के लिए:

gcloud firebase test android run --app = <path_to_app_apk_file> --robo-script = <robo-script-path>

अगले कदम