Catch up on highlights from Firebase at Google I/O 2023. Learn more

Google मेघ CLI के साथ परीक्षण करें

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

चरण 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 : अपना परीक्षण चलाएँ

एक XCTest चलाएँ

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

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

    टेस्ट लैब आपको विभिन्न प्रकार के आईओएस संस्करणों, उपकरणों, स्क्रीन ओरिएंटेशन और लोकेशंस पर परीक्षण चलाने देता है। इन विन्यासों को परीक्षण के परीक्षण आयामों के रूप में जाना जाता है। प्रत्येक आयाम के लिए विकल्पों को देखने के लिए (उदाहरण के लिए, डिवाइस के iOS संस्करण के लिए समर्थित Xcode संस्करण), निम्न कमांड में 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

    फायरबेस कंसोल में अपने परीक्षण मैट्रिसेस की पहचान करने और उनका पता लगाने में आपकी मदद करने के लिए, आप निम्न उदाहरण में --client-details matrixLabel="<label>" ध्वज का उपयोग करके वैकल्पिक रूप से अपने परीक्षण मैट्रिक्स को लेबल कर सकते हैं:

    gcloud beta firebase test ios run --test PATH/TO/MyTests.zip \
      --device model=MODEL_ID_1,version=VERSION_ID_1,locale=LOCALE_1,orientation=ORIENTATION_1 \
      --client-details matrixLabel="my label"

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

उन एंटाइटेलमेंट का परीक्षण करने के लिए जिनके लिए एक स्पष्ट ऐप आईडी की आवश्यकता होती है, आप --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 के बारे में अधिक जानकारी के लिए, संदर्भ दस्तावेज़ देखें।

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

टेस्ट लैब के साथ स्क्रिप्टिंग 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 एक परीक्षण अवसंरचना त्रुटि हुई।

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

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

अगला कदम

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