Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

gcloud CLI के साथ परीक्षण करें

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

यह मार्गदर्शिका बताती है कि gcloud CLI का उपयोग करके XCTest या गेम लूप परीक्षण कैसे चलाया जाता है।

चरण 1 : अपना स्थानीय Google क्लाउड SDK परिवेश कॉन्फ़िगर करें

  1. Google क्लाउड एसडीके डाउनलोड करें।
  2. इसमें gcloud CLI टूल शामिल है।

  3. सुनिश्चित करें कि आपका इंस्टॉलेशन अप-टू-डेट है और इसमें gcloud firebase कमांड शामिल है:
          gcloud components update
  4. अपने Google खाते का उपयोग करके gcloud CLI में लॉग इन करें:
          gcloud auth login
  5. अपने Firebase प्रोजेक्ट को gcloud में सेट करें, जहां PROJECT_ID आपके Firebase प्रोजेक्ट की आईडी है:
         gcloud config set project PROJECT_ID

चरण 2 : अपना परीक्षण चलाएं

एक एक्ससीटेस्ट चलाएं

  1. निम्न आदेश चलाकर अपने परीक्षण की .zip फ़ाइल अपलोड करें (यदि आपने अभी तक अपना ऐप पैक नहीं किया है, तो अपने XCTest की पैकेजिंग देखें):

    cd FOLDER_WITH_TEST_OUTPUT/Build/Products ; \
    zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
  2. अपने परीक्षण आयाम चुनें।

    परीक्षण लैब आपको विभिन्न प्रकार के iOS संस्करणों, उपकरणों, स्क्रीन ओरिएंटेशन और स्थानों पर परीक्षण चलाने देता है। इन विन्यासों को परीक्षण के परीक्षण आयामों के रूप में जाना जाता है। प्रत्येक आयाम के विकल्प देखने के लिए (उदाहरण के लिए, डिवाइस के आईओएस संस्करण के लिए समर्थित एक्सकोड संस्करण), निम्न आदेश में dimension के लिए models , versions या locales प्रतिस्थापित करें:

    gcloud firebase test ios dimension list

    स्क्रीन ओरिएंटेशन कुछ सरल है, क्योंकि इसके एकमात्र विकल्प portrait और landscape

    परीक्षण आयामों की सूची देखें, और कुछ संयोजन चुनें जिन पर आप अपना परीक्षण चलाना चाहते हैं। प्रति दिन आपके द्वारा चलाए जा सकने वाले संयोजनों की अधिकतम संख्या देखने के लिए मूल्य निर्धारण योजनाओं पर जाएं।

  3. एक बार जब आप परीक्षण आयामों का एक सेट चुन लेते हैं, तो आप firebase test ios run कमांड का उपयोग करके टेस्ट लैब से अपने परीक्षण चला सकते हैं। परीक्षण आयामों के प्रत्येक संयोजन के लिए, जिस पर आप परीक्षण करना चाहते हैं, एक अलग --device ध्वज शामिल करें:

    gcloud firebase test ios run --test PATH/TO/MyTests.zip \
     --device model=MODEL_ID_1,version=VERSION_ID_1,locale=LOCALE_1,orientation=ORIENTATION_1 \
     --device model=MODEL_ID_2,version=VERSION_ID_2,locale=LOCALE_2,orientation=ORIENTATION_2 \
     etc...

    यह संभव है कि आपका परीक्षण Xcode संस्करण जिसके साथ परीक्षण बनाया गया था और टेस्ट लैब द्वारा उपयोग किए गए डिफ़ॉल्ट Xcode संस्करण के बीच असंगति के कारण विफल हो जाएगा। अपने परीक्षण के लिए एक समर्थित Xcode संस्करण निर्दिष्ट करने के लिए, --xcode-version ध्वज का उपयोग करें:

    gcloud firebase test ios run --test PATH/TO/MyTests.zip \
     --device model=MODEL_ID_1,version=VERSION_ID_1,locale=LOCALE_1,orientation=ORIENTATION_1 \
     --xcode-version=11.3

विशेष पात्रता का परीक्षण करें

उन एंटाइटेलमेंट का परीक्षण करने के लिए जिनके लिए एक स्पष्ट ऐप आईडी की आवश्यकता होती है, आप ऐसा --test-special-entitlements फ़्लैग सेट करके कर सकते हैं। विशेष पात्रताओं का समर्थन करने के लिए टेस्ट लैब एक नए बंडल-पहचानकर्ता के साथ एप्लिकेशन पर फिर से हस्ताक्षर करता है, इसलिए कृपया सुनिश्चित करें कि आपकी ज़िप फ़ाइल में कोई ऐसे संसाधन नहीं हैं जिनमें ऐप के बंडल आईडी के सीधे संदर्भ हों।

सूचनाएं भेजना

पुश सूचना अनुरोधों को अधिकृत करने के लिए, उपयोगकर्ता कुंजी आईडी - C7FD9DJAA8 और टीम आईडी - 9CKCGNNUQN के साथ निजी हस्ताक्षर कुंजी का उपयोग करके JSON वेब टोकन बना सकते हैं। जेनरेट किए गए टोकन एक घंटे के लिए वैध होंगे और हर 60 मिनट में रीफ्रेश करने की आवश्यकता होगी। एपीएन के लिए टोकन-आधारित कनेक्शन स्थापित करने के बारे में और पढ़ें।

गेम लूप टेस्ट चलाएं

gcloud beta firebase test ios run कमांड चलाएँ और रन को कॉन्फ़िगर करने के लिए निम्नलिखित फ़्लैग का उपयोग करें:

गेम लूप टेस्ट के लिए झंडे
--type

आवश्यक : उस प्रकार के iOS परीक्षण को निर्दिष्ट करता है जिसे आप चलाना चाहते हैं। आप परीक्षण प्रकार xctest (डिफ़ॉल्ट) या game-loop दर्ज कर सकते हैं।

--app

आवश्यक : आपके ऐप की IPA फ़ाइल का संपूर्ण पथ (GCS या फ़ाइल सिस्टम)। यह ध्वज केवल गेम लूप परीक्षण चलाते समय ही मान्य होता है।

--scenario-numbers

लूप (उर्फ परिदृश्य) आप अपने ऐप में चलाना चाहते हैं। आप एक लूप, एक सूची या लूप, या लूप की श्रेणी दर्ज कर सकते हैं। डिफ़ॉल्ट लूप 1 है।

उदाहरण के लिए, --scenario-numbers=1-3,5 लूप 1, 2, 3, और 5 रन करता है।

--device-model

वह भौतिक उपकरण जिस पर आप अपना परीक्षण चलाना चाहते हैं (पता करें कि आप किन उपलब्ध उपकरणों का उपयोग कर सकते हैं)।

--timeout

अधिकतम अवधि आप चाहते हैं कि आपका परीक्षण चले। आप सेकंड में अवधि का प्रतिनिधित्व करने के लिए एक पूर्णांक दर्ज कर सकते हैं, या समय की लंबी इकाई के रूप में अवधि का प्रतिनिधित्व करने के लिए एक पूर्णांक और गणना दर्ज कर सकते हैं।

उदाहरण के लिए:

  • --timeout=200 आपके परीक्षण को 200 सेकंड तक चलने पर समाप्त करने के लिए बाध्य करता है।
  • --timeout=1h आपके परीक्षण के एक घंटे तक चलने पर उसे समाप्त करने के लिए बाध्य करता है।

उदाहरण के लिए, निम्न आदेश एक गेम लूप परीक्षण चलाता है जो आईफोन 8 प्लस पर लूप 1, 4, 6, 7 और 8 निष्पादित करता है:

gcloud beta firebase test ios run
 --type game-loop --app path/to/my/App.ipa --scenario-numbers 1,4,6-8
 --device-model=iphone8plus

gcloud CLI के बारे में अधिक जानकारी के लिए, संदर्भ दस्तावेज़ देखें।

चरण 4 (वैकल्पिक) : आपके द्वारा बनाए जाने वाले भावी परीक्षणों को स्वचालित करें

टेस्ट लैब के साथ स्क्रिप्टिंग gcloud कमांड

आप मोबाइल ऐप परीक्षण आदेशों को स्वचालित करने के लिए शेल स्क्रिप्ट या बैच फ़ाइलों का उपयोग कर सकते हैं जिन्हें आप अन्यथा gcloud कमांड लाइन का उपयोग करके चलाएंगे। यह नमूना बैश स्क्रिप्ट दो मिनट के टाइमआउट के साथ एक XCTest चलाता है, और रिपोर्ट करता है कि परीक्षण सफलतापूर्वक पूरा हुआ या नहीं:

if gcloud firebase test ios run --test MyTest.zip --timeout 2m
then
    echo "Test matrix successfully finished"
else
    echo "Test matrix exited abnormally with non-zero exit code: " $?
fi

स्क्रिप्ट निकास कोड

टेस्ट लैब कई निकास कोड प्रदान करता है जिनका उपयोग आप स्क्रिप्ट या बैच फ़ाइलों का उपयोग करके चलाए जाने वाले परीक्षणों के परिणामों को बेहतर ढंग से समझने के लिए कर सकते हैं।

कोड से बाहर निकलें टिप्पणियाँ
0 सभी परीक्षण निष्पादन पारित हुए।
1 एक सामान्य विफलता हुई। संभावित कारणों में शामिल हैं: एक फ़ाइल नाम जो मौजूद नहीं है या एक HTTP/नेटवर्क त्रुटि।
2 परीक्षण समाप्त हो गया क्योंकि अज्ञात आदेश या तर्क प्रदान किए गए थे।
10 एक परीक्षण निष्पादन के भीतर एक या अधिक परीक्षण मामले (परीक्षण वर्ग या वर्ग विधियाँ) पास नहीं हुए।
15 फायरबेस टेस्ट लैब यह निर्धारित नहीं कर सका कि अप्रत्याशित त्रुटि के कारण परीक्षण मैट्रिक्स पास हुआ या विफल।
19 उपयोगकर्ता द्वारा परीक्षण मैट्रिक्स रद्द कर दिया गया था।
20 एक परीक्षण अवसंरचना त्रुटि हुई।

चरण 5 : परीक्षा परिणामों की जांच करें

जब परीक्षण शुरू होता है, तो आपको परीक्षा परिणाम पृष्ठ का एक लिंक प्राप्त होता है। आपके द्वारा चुने गए विभिन्न कॉन्फ़िगरेशन की संख्या और आपके परीक्षणों के लिए निर्धारित परीक्षण टाइमआउट अवधि के आधार पर परीक्षणों को चलने में कई मिनट लग सकते हैं। आपके परीक्षण चलने के बाद, आप परीक्षा परिणामों की समीक्षा कर सकते हैं। अपने परीक्षण परिणामों की व्याख्या करने के तरीके के बारे में अधिक जानने के लिए Firebase परीक्षण लैब परिणामों का विश्लेषण करना देखें।

अगला कदम

आम तौर पर या बीटा में उपलब्ध परीक्षण विकल्पों का पता लगाने के लिए Google क्लाउड एसडीके दस्तावेज़ पढ़ें।