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

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

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

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

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

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

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

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

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

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

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

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

अगले चरण