यह मार्गदर्शिका बताती है कि gcloud CLI का उपयोग करके XCTest या गेम लूप परीक्षण कैसे चलाया जाता है।
चरण 1 : अपना स्थानीय Google क्लाउड SDK परिवेश कॉन्फ़िगर करें
- Google क्लाउड एसडीके डाउनलोड करें।
- सुनिश्चित करें कि आपका इंस्टॉलेशन अप-टू-डेट है और इसमें
gcloud firebase
कमांड शामिल है:gcloud components update
- अपने Google खाते का उपयोग करके gcloud CLI में लॉग इन करें:
gcloud auth login
- अपने Firebase प्रोजेक्ट को gcloud में सेट करें, जहां PROJECT_ID आपके Firebase प्रोजेक्ट की आईडी है:
gcloud config set project PROJECT_ID
इसमें gcloud CLI टूल शामिल है।
चरण 2 : अपना परीक्षण चलाएँ
एक एक्ससीटेस्ट चलाएं
निम्न आदेश चलाकर अपने परीक्षण की .zip फ़ाइल अपलोड करें (यदि आपने अभी तक अपना ऐप पैक नहीं किया है, तो अपने XCTest की पैकेजिंग देखें):
cd FOLDER_WITH_TEST_OUTPUT/Build/Products ; \ zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
अपने परीक्षण आयाम चुनें।
परीक्षण लैब आपको विभिन्न प्रकार के iOS संस्करणों, उपकरणों, स्क्रीन ओरिएंटेशन और स्थानों पर परीक्षण चलाने देता है। इन विन्यासों को परीक्षण के परीक्षण आयामों के रूप में जाना जाता है। प्रत्येक आयाम के विकल्प देखने के लिए (उदाहरण के लिए, डिवाइस के आईओएस संस्करण के लिए समर्थित एक्सकोड संस्करण), निम्न आदेश में
dimension
के लिएmodels
,versions
याlocales
प्रतिस्थापित करें:gcloud firebase test ios dimension list
स्क्रीन ओरिएंटेशन कुछ सरल है, क्योंकि इसके एकमात्र विकल्प
portrait
औरlandscape
।परीक्षण आयामों की सूची देखें, और कुछ संयोजन चुनें जिन पर आप अपना परीक्षण चलाना चाहते हैं। प्रति दिन आपके द्वारा चलाए जा सकने वाले संयोजनों की अधिकतम संख्या देखने के लिए मूल्य निर्धारण योजनाओं पर जाएं।
एक बार जब आप परीक्षण आयामों का एक सेट चुन लेते हैं, तो आप
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 परीक्षण को निर्दिष्ट करता है जिसे आप चलाना चाहते हैं। आप परीक्षण प्रकार |
--app | आवश्यक : आपके ऐप की IPA फ़ाइल का संपूर्ण पथ (GCS या फ़ाइल सिस्टम)। यह ध्वज केवल गेम लूप परीक्षण चलाते समय ही मान्य होता है। |
--scenario-numbers | लूप (उर्फ परिदृश्य) आप अपने ऐप में चलाना चाहते हैं। आप एक लूप, एक सूची या लूप, या लूप की श्रेणी दर्ज कर सकते हैं। डिफ़ॉल्ट लूप 1 है। उदाहरण के लिए, |
--device-model | वह भौतिक उपकरण जिस पर आप अपना परीक्षण चलाना चाहते हैं (पता करें कि आप किन उपलब्ध उपकरणों का उपयोग कर सकते हैं)। |
--timeout | अधिकतम अवधि आप चाहते हैं कि आपका परीक्षण चले। आप सेकंड में अवधि का प्रतिनिधित्व करने के लिए एक पूर्णांक दर्ज कर सकते हैं, या समय की लंबी इकाई के रूप में अवधि का प्रतिनिधित्व करने के लिए एक पूर्णांक और गणना दर्ज कर सकते हैं। उदाहरण के लिए:
|
उदाहरण के लिए, निम्न आदेश एक गेम लूप परीक्षण चलाता है जो आईफोन 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 क्लाउड एसडीके दस्तावेज़ीकरण पढ़ें।