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