इस दस्तावेज़ में, रोबो स्क्रिप्ट का इस्तेमाल करने का तरीका बताया गया है. ये ऐसे टेस्ट होते हैं जो मोबाइल ऐप्लिकेशन के लिए, मैन्युअल QA टास्क को ऑटोमेट करते हैं. साथ ही, लगातार इंटिग्रेशन (सीआई) और लॉन्च से पहले टेस्टिंग की रणनीतियों को चालू करते हैं. उदाहरण के लिए, रोबो स्क्रिप्ट का इस्तेमाल, किसी सामान्य उपयोगकर्ता अनुभव की जांच करने या उपयोगकर्ता इंटरफ़ेस (यूआई) के लिए खास इनपुट देने के लिए किया जा सकता है. जैसे, उपयोगकर्ता नाम और पासवर्ड. रोबो स्क्रिप्ट, रोबोट की मदद से होने वाली जांच की एक सुविधा है.
रोबो स्क्रिप्ट, टेस्ट इंजन के तौर पर रोबो टेस्ट का इस्तेमाल करती हैं. सबसे बुनियादी रूप में, रोबो स्क्रिप्ट में यूज़र इंटरफ़ेस (यूआई) की कार्रवाइयों का क्रम होता है. जैसे, enter text 'username' और फिर tap the OK button. रोबो स्क्रिप्ट में, कुछ कार्रवाइयां भी शामिल की जा सकती हैं. जैसे, किसी एलिमेंट के दिखने का इंतज़ार करना, किसी एलिमेंट के अंदर किसी खास पॉइंट पर टैप करना, और Android डीबग ब्रिज (adb) की शेल कमांड को लागू करना.
रोबो स्क्रिप्ट के पारंपरिक टेस्टिंग फ़्रेमवर्क के मुकाबले ये फ़ायदे हैं:
| क्षमता | ब्यौरा |
| बहुत ज़्यादा भरोसेमंद | रोबो स्क्रिप्ट, ऐप्लिकेशन के वर्शन और ऐप्लिकेशन की अस्थिरता के बीच, स्ट्रक्चर और व्यवहार में होने वाले बड़े अंतर को बर्दाश्त कर सकती हैं. |
| Open-ended | रोबो स्क्रिप्ट पूरी होने के बाद, रोबो टेस्ट शुरू हो सकता है और ऐप्लिकेशन की जांच जारी रख सकता है. जांच जारी रखने की इस सुविधा से, कई अहम मामलों में मदद मिलती है. उदाहरण के लिए, कस्टम साइन-इन फ़्लो को पूरा करके, किसी ऐप्लिकेशन को किसी खास स्थिति में लाने के लिए, रोबो स्क्रिप्ट का इस्तेमाल किया जा सकता है. |
| रिकॉर्ड किया जा सकता है | आपको रोबो स्क्रिप्ट को मैन्युअल तरीके से कोड करने की ज़रूरत नहीं है. इन्हें Android Studio में मौजूद रोबो स्क्रिप्ट रिकॉर्डर का इस्तेमाल करके रिकॉर्ड किया जा सकता है. Robo स्क्रिप्ट बनाने या उनमें बदलाव करने के लिए, आम तौर पर मोबाइल डेवलपमेंट के बारे में जानकारी होना ज़रूरी नहीं है. |
| सुविधा के मुताबिक | रोबो स्क्रिप्ट, गेम में मौजूद ऐसे यूज़र इंटरफ़ेस (यूआई) एलिमेंट के साथ इंटरैक्ट कर सकती हैं जो नेटिव नहीं हैं. |
रोबो स्क्रिप्ट, रोबो टेस्ट के दौरान कुछ शर्तों के साथ ट्रिगर होती हैं. इससे उपयोगकर्ता, रोबो के व्यवहार को बेहतर बना सकते हैं. आम तौर पर, ऐसा ज़्यादा कवरेज पाने या किसी खास सुविधा को टारगेट करने के लिए किया जाता है. पारंपरिक टेस्टिंग फ़्रेमवर्क की तुलना में, रोबो स्क्रिप्ट इन सुविधाओं के साथ काम करती हैं:
- ट्रिगर करने की अलग-अलग शर्तें. उदाहरण के लिए, किसी ऐप्लिकेशन के पैकेज का नाम चालू है या नहीं या स्क्रीन पर कोई खास एलिमेंट दिख रहा है या नहीं.
- एक्ज़ीक्यूशन कंट्रोल. उदाहरण के लिए, ज़्यादा से ज़्यादा एक्ज़ीक्यूशन, प्राथमिकता, काम की क्रॉल स्टेज.
- कार्रवाई के ऐसे टाइप जो आम तौर पर इस्तेमाल नहीं किए जाते (शर्तों के हिसाब से, एलिमेंट को अनदेखा करने वाली, स्क्रीन बंद करने वाली).
हमारा सुझाव है कि जब भी हो सके, रोबो स्क्रिप्ट का इस्तेमाल करें. ऐसा इसलिए, क्योंकि इन्हें आसानी से मैनेज किया जा सकता है. उदाहरण के लिए, रोबो स्क्रिप्ट का इस्तेमाल करके ये काम किए जा सकते हैं:
- ऐप्लिकेशन के मुख्य फ़ंक्शन तक पहुंचने के लिए, अहम वर्कफ़्लो पर नेविगेट करें. उदाहरण के लिए, साइन-इन किया जा सकता है, पहली बार लॉन्च होने के बाद ऐप्लिकेशन की स्थिति सेट अप की जा सकती है, और नए उपयोगकर्ता को रजिस्टर किया जा सकता है.
- रोबो टेस्ट के समय का ज़्यादा से ज़्यादा फ़ायदा पाने के लिए, रोबो को ऐप्लिकेशन के किसी खास हिस्से पर फ़ोकस करने के लिए कहें. रोबो स्क्रिप्ट, रोबो टेस्ट को ऐप्लिकेशन के उस हिस्से तक पहुंचने में मदद करती है जहां रोबो टेस्ट, पूरी तरह से ऑटोमेटेड क्रॉल को फिर से शुरू करता है.
- किसी ऐप्लिकेशन को किसी खास स्थिति या स्क्रीन पर ले जाकर उसका विश्लेषण किया जा सकता है. उदाहरण के लिए, ऐप्लिकेशन में दिखने वाले मैसेज, निजता नीति या गेम के किसी खास लेवल का विश्लेषण करने के लिए.
- शुरू से आखिर तक इंस्ट्रुमेंटेशन टेस्ट करें. इसके लिए, रोबो टेस्ट का इस्तेमाल किया जा सकता है या नहीं भी किया जा सकता. रोबो स्क्रिप्ट पूरी होने के बाद, पूरी तरह से अपने-आप होने वाली क्रॉलिंग को फिर से शुरू करें.
रोबो स्क्रिप्ट की ज़्यादा ऐडवांस सुविधाओं का इस्तेमाल करके, ये काम किए जा सकते हैं:
- टेस्ट किए जा रहे ऐप्लिकेशन को Robo के क्रॉल करने से पहले या क्रॉलिंग पूरी होने के बाद कार्रवाइयां करें. उदाहरण के लिए, क्रॉलिंग से पहले टेस्ट किए जा रहे ऐप्लिकेशन का डेटा मिटाएं या डिवाइस की सेटिंग बदलें.
- क्रॉल के दौरान रोबोट के व्यवहार में बदलाव करें. खास तौर पर:
- Robo को कुछ यूज़र इंटरफ़ेस (यूआई) विजेट या ऐप्लिकेशन स्क्रीन को अनदेखा करने के लिए कहें.
- Robo को किसी स्क्रीन से वापस जाने पर, कस्टम ऐक्शन करने की सुविधा दें.
- जब भी क्रॉल के दौरान कोई खास ऐप्लिकेशन स्क्रीन दिखे, तब रोबो को खास कार्रवाइयां करने के लिए कहें.
- Robo के क्रॉल करने के तरीके को पूरी तरह से अपनी पसंद के मुताबिक बनाएं. उदाहरण के लिए, शर्त के साथ और बिना शर्त वाली कार्रवाइयों के कॉम्बिनेशन का इस्तेमाल करें. इससे, क्रॉलिंग के दौरान टेस्ट किए जा रहे ऐप्लिकेशन को बैकग्राउंड में रखा जा सकेगा. साथ ही, डिवाइस में बदलाव किए जा सकेंगे और रास्ते में दिखने वाले किसी भी पॉप-अप डायलॉग को खारिज किया जा सकेगा.
ध्यान रखें कि रोबो स्क्रिप्ट, सभी तरह के टेस्ट की जगह नहीं लेती हैं. आपको अब भी यूनिट टेस्ट की ज़रूरत होगी, ताकि ऐप्लिकेशन में लॉजिक से जुड़ी छोटी-मोटी गड़बड़ियों का पता लगाया जा सके. आम तौर पर, इन टेस्ट के लिए Android या iOS एनवायरमेंट की ज़रूरत नहीं होती. हमारा सुझाव है कि आप रोबो स्क्रिप्ट टेस्ट के साथ-साथ, टारगेट किए गए इंस्ट्रुमेंटेशन टेस्ट भी करें. इनमें कारोबारी नियमों के बारे में खास और ज़्यादा जानकारी वाले दावे हो सकते हैं. इन्हें कोड में सबसे अच्छी तरह से दिखाया जा सकता है.
अगले चरण
रोबो स्क्रिप्ट के स्ट्रक्चर, सुविधाओं, इस्तेमाल, और कार्रवाइयों के बारे में जानने के लिए, रोबो स्क्रिप्ट की रेफ़रंस गाइड देखें.