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

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

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

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

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

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

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

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

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

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

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

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

अगले चरण