रोबो स्क्रिप्ट चलाना (Android)

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

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

रोबो स्क्रिप्ट, टेस्ट इंजन के तौर पर Robo test का इस्तेमाल करती हैं. सबसे बुनियादी रूप में, रोबो स्क्रिप्ट में यूज़र इंटरफ़ेस (यूआई) ऐक्शन का क्रम होता है. जैसे, 'उपयोगकर्ता नाम' टेक्स्ट डालें और फिर ठीक है बटन पर टैप करें. रोबो स्क्रिप्ट में एलिमेंट के दिखने का इंतज़ार करना, एलिमेंट में किसी खास पॉइंट पर टैप करना, और Android डीबग ब्रिज (adb) के शेल कमांड इस्तेमाल करने जैसी कार्रवाइयां भी शामिल हो सकती हैं.

रोबो स्क्रिप्ट के ये फ़ायदे हैं, जो टेस्टिंग के पारंपरिक फ़्रेमवर्क के मुकाबले बेहतर हैं:

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

रोबो टेस्ट के दौरान, रोबो स्क्रिप्ट कुछ शर्तों के हिसाब से ट्रिगर होती हैं. इससे उपयोगकर्ता, रोबो के व्यवहार को बेहतर बना सकते हैं. आम तौर पर, ऐसा ज़्यादा कवरेज पाने या किसी खास फ़ंक्शन को टारगेट करने के लिए किया जाता है. पारंपरिक टेस्टिंग फ़्रेमवर्क के मुकाबले, रोबो स्क्रिप्ट इनके साथ काम करती हैं:

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

हमारा सुझाव है कि आप जब भी हो सके, रोबो स्क्रिप्ट का इस्तेमाल करें. ऐसा इसलिए, क्योंकि इन्हें आसानी से मैनेज किया जा सकता है. उदाहरण के लिए, रोबो स्क्रिप्ट का इस्तेमाल करके ये काम किए जा सकते हैं:

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

इन कामों के लिए, रोबो स्क्रिप्ट की बेहतर सुविधाओं का इस्तेमाल करें:

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

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

Android Studio में Test Lab का इस्तेमाल करके रोबो स्क्रिप्ट रिकॉर्ड करना

Android Studio में मौजूद रोबो स्क्रिप्ट रिकॉर्डर की मदद से, अपने डिवाइस पर ऐप्लिकेशन के साथ सीधे इंटरैक्ट करके रोबो स्क्रिप्ट रिकॉर्ड की जा सकती हैं. Android Studio में Firebase टूल की मदद से, रोबो स्क्रिप्टिंग शुरू करने के लिए, इन निर्देशों का पालन करें:

  1. Android Studio खोलें और टूल -> Firebase चुनें.

  2. Firebase पैनल में, रोबो स्क्रिप्ट रिकॉर्ड करें और रोबो टेस्ट को गाइड करने के लिए इसका इस्तेमाल करें पर क्लिक करें.

  3. रोबो स्क्रिप्ट रिकॉर्ड करें पर क्लिक करें. 'डिप्लॉयमेंट टारगेट चुनें' डायलॉग बॉक्स दिखता है.

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

  5. डिवाइस में रोबो स्क्रिप्ट रिकॉर्ड करने के बाद, फ़ाइल को अपनी पसंद की जगह पर JSON फ़ाइल के तौर पर सेव करें.

  6. Firebase कंसोल में Test Lab पेज खोलें और JSON स्क्रिप्ट फ़ाइल और ऐप्लिकेशन का APK अपलोड करें.

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

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

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

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

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

  1. Firebase कंसोल में Test Lab पेज खोलें.

  2. ऐप्लिकेशन का APK या AAB फ़ील्ड में, ऐप्लिकेशन का APK या AAB अपलोड करें.

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

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

किसी लोकल रोबो टेस्ट रन को रोबो स्क्रिप्ट देने के लिए, यहां दिए गए रोबो टेस्ट का इस्तेमाल करें:

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

<robo-script-path> को लोकल फ़ाइल सिस्टम में मौजूद अपनी रोबो स्क्रिप्ट फ़ाइल के पाथ से बदलें. लोकल रोबो टेस्ट चलाने के लिए दिए गए निर्देशों का पालन करें.

gcloud सीएलआई टेस्ट के लिए रोबो स्क्रिप्ट तय करना

gcloud CLI टेस्ट के इस्तेमाल में रोबो स्क्रिप्ट तय करने के लिए, यहां दिए गए gcloud CLI फ़्लैग का इस्तेमाल करें:

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

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

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

अगले चरण