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