इस गाइड में gcloud का इस्तेमाल करके XCTest या गेम लूप टेस्ट चलाने का तरीका बताया गया है सीएलआई.
पहला चरण: अपने लोकल Google Cloud SDK टूल एनवायरमेंट को कॉन्फ़िगर करें
- Google Cloud SDK टूल डाउनलोड करें
- पक्का करें कि आपका इंस्टॉलेशन अप-टू-डेट है और उसमें ये शामिल हैं
gcloud firebase
कमांड:gcloud components update
- अपने Google खाते का इस्तेमाल करके gcloud सीएलआई में लॉग इन करें:
gcloud auth login
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है - अपना Firebase प्रोजेक्ट gcloud में सेट करें, जहां PROJECT_ID है
आपके Firebase प्रोजेक्ट का आईडी:
gcloud config set project PROJECT_ID
इसमें gcloud सीएलआई टूल शामिल है.
दूसरा चरण: जांच करना
XCTest चलाएं
नीचे दिए गए निर्देश की मदद से, अपने टेस्ट की .zip फ़ाइल अपलोड करें (अगर आप अब तक आपके ऐप्लिकेशन का पैकेज नहीं बनाया गया है, तो अपने XCTest को पैक करना):
cd FOLDER_WITH_TEST_OUTPUT/Build/Products ; \ zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
टेस्ट डाइमेंशन चुनें.
टेस्ट लैब की मदद से, अलग-अलग iOS वर्शन, डिवाइसों, और स्क्रीन पर टेस्ट किए जा सकते हैं स्क्रीन की दिशा, और स्थान-भाषा. इन कॉन्फ़िगरेशन को टेस्ट टेस्ट डाइमेंशन. हर डाइमेंशन के विकल्प देखने के लिए (उदाहरण, डिवाइस के iOS वर्शन के लिए काम करने वाले Xcode वर्शन), तो इसके लिए
models
,versions
याlocales
dimension
को इन निर्देश में शामिल किया जाएगा: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=15
Firebase कंसोल के बजाय, आपके पास इसका इस्तेमाल करके अपने टेस्ट मैट्रिक्स को लेबल करने का विकल्प होता है यहां दिए गए उदाहरण में
--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
फ़्लैग सेट कर रही हूँ. टेस्ट लैब
विशेष का समर्थन करने के लिए नए बंडल-आइडेंटिफ़ायर के साथ ऐप्लिकेशन पर फिर से हस्ताक्षर करता है
एनटाइटलमेंट की जानकारी देते हैं, इसलिए पक्का करें कि आपकी ZIP फ़ाइल में कोई संसाधन न हो
ऐप्लिकेशन के बंडल आइडेंटिफ़ायर के डायरेक्ट रेफ़रंस शामिल हों.
- पुश नोटिफ़िकेशन
apns-environment
- निजी वीपीएन
com.apple.developer.networking.vpn.api
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
पुश नोटिफ़िकेशन के अनुरोध को अनुमति देने के लिए, उपयोगकर्ता JSON वेब बना सकते हैं निजी डेटा का इस्तेमाल करके टोकन हस्ताक्षर कुंजी यह कुंजी आईडी - C7FD9DJAA8 और टीम आईडी के साथ - 9CKCGNNUQN. जनरेट किए गए टोकन सिर्फ़ एक के लिए मान्य होंगे इसे हर 60 मिनट में रीफ़्रेश किया जाना चाहिए. ज़्यादा जानने के लिए एपीएन के लिए, टोकन पर आधारित कनेक्शन बनाना.
ऐप्लिकेशन ग्रुपऐप्लिकेशन ग्रुप आईडी यूनिवर्सल रूप से यूनीक होते हैं. इसका मतलब है कि जब हम उपयोगकर्ता ऐप्लिकेशन को फिर से साइन करने के लिए, हम सिर्फ़ उस ऐप्लिकेशन ग्रुप आईडी का इस्तेमाल कर सकते हैं जो टेस्ट लैब डेवलपर खाते से जुड़ा होता है. अगर जांच के दौरान तो आपका टेस्ट पूरा नहीं हो पाएगा.
गेम लूप टेस्ट चलाना
gcloud beta firebase test ios run
निर्देश चलाएं और इनका इस्तेमाल करें
फ़्लैग:
गेम लूप टेस्ट के लिए फ़्लैग | |
---|---|
--type
|
ज़रूरी है: यह बताता है कि किस तरह का iOS टेस्ट चलाना है. इसमें
परीक्षण प्रकार |
--app
|
ज़रूरी है: आपके ऐप्लिकेशन की आईपीए फ़ाइल का ऐब्सलूट पाथ (GCS या फ़ाइल सिस्टम). यह फ़्लैग सिर्फ़ गेम लूप टेस्ट चलाते समय ही मान्य होता है. |
--scenario-numbers
|
वे लूप (यानी कि स्थितियां) जिन्हें आपको अपने ऐप्लिकेशन में चलाना है. इसमें एक लूप, सूची या लूप या लूप की कोई रेंज डाली जा सकती है. डिफ़ॉल्ट लूप 1 है.
उदाहरण के लिए, |
--device-model
|
वह डिवाइस जिस पर आपको टेस्ट कराना है (पता लगाएं कि कौनसे डिवाइस उपलब्ध हैं इस्तेमाल किए जा सकते हैं). |
--timeout
|
वह ज़्यादा से ज़्यादा अवधि जिसे आपको टेस्ट चलाना है. कोई पूर्णांक डाला जा सकता है अवधि को सेकंड में दिखाते हैं या अवधि को लंबी इकाई के रूप में शामिल किया है. उदाहरण के लिए:
|
उदाहरण के लिए, नीचे दिए गए निर्देश से गेम लूप की जांच की जाती है. इसमें लूप को चलाया जाता है iPhone 8 Plus पर कार्ड नंबर 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 सीएलआई के बारे में ज़्यादा जानकारी के लिए रेफ़रंस दस्तावेज़.
तीसरा चरण (ज़रूरी नहीं): आने वाले समय में अपने-आप होने वाली जांचों को ऑटोमेट करना
टेस्ट लैब की मदद से, 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 | कोई सामान्य गड़बड़ी हुई. संभावित कारणों में शामिल हैं: एक फ़ाइल नाम जो मौजूद नहीं है या एचटीटीपी/नेटवर्क की गड़बड़ी है. |
2 | अनजान निर्देश या आर्ग्युमेंट दिए जाने की वजह से, जांच से बाहर हो गया. |
10 | टेस्ट में एक या उससे ज़्यादा टेस्ट केस (टेस्ट की गई क्लास या क्लास के तरीके) निष्पादन पूरा नहीं हुआ. |
15 | Firebase टेस्ट लैब यह तय नहीं कर सका कि टेस्ट मैट्रिक्स पास हुआ है या नहीं या अचानक हुई गड़बड़ी की वजह से कार्रवाई नहीं की जा सकी. |
19 | टेस्ट मैट्रिक्स को उपयोगकर्ता ने रद्द कर दिया था. |
20 | परीक्षण संरचना में कोई गड़बड़ी हुई. |
चौथा चरण: टेस्ट के नतीजों की जांच करना
जांच शुरू होने पर, आपको जांच के नतीजे पेज का लिंक मिलेगा. जांच में ये काम किए जा सकते हैं चलने में कई मिनट लग सकते हैं, जो अलग-अलग कॉन्फ़िगरेशन जो आपने चुने हैं और टेस्ट टाइम आउट की अवधि, टेस्ट. जांच पूरी होने के बाद, जांच के नतीजों की समीक्षा की जा सकती है. यहां जाएं: इसके बारे में ज़्यादा जानने के लिए, Firebase टेस्ट लैब के नतीजों का विश्लेषण करना टेस्ट के नतीजों को कैसे समझें.
अगला चरण
टेस्टिंग के इन विकल्पों के बारे में जानने के लिए, Google Cloud SDK से जुड़े दस्तावेज़ पढ़ें आम तौर पर उपलब्ध या बीटा वर्शन में उपलब्ध है.