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

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

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

रोबो स्क्रिप्ट के ये फ़ायदे हैं:

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

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

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

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

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

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

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

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

अगले चरण