टेस्ट लैब को अपने सीआई/सीडी सिस्टम के साथ इंटिग्रेट करें

1. शुरुआती जानकारी

पिछली बार अपडेट किए जाने की तारीख: 07-04-2022

सीआई/सीडी सिस्टम की मदद से मोबाइल टेस्ट करने का तरीका

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

इससे आपको यह समझने में मदद मिलती है कि लोगों पर आपके ऐप्लिकेशन कैसा परफ़ॉर्म करते हैं Firebase टेस्ट लैब हमारे डेटा सेंटर में कई तरह के मोबाइल फ़िज़िकल और वर्चुअल डिवाइस होस्ट करते हैं. हम Google Cloud CLI भी उपलब्ध कराते हैं. यह प्लैटफ़ॉर्म पर काम करने वाला एक स्वतंत्र कमांड-लाइन टूल है, जो हमारे डेटा सेंटर के डिवाइसों पर टेस्ट करने की प्रक्रिया को व्यवस्थित करता है. gcloud सीएलआई, टेस्ट लैब के क्लाउड-आधारित टेस्टिंग सलूशन को मौजूदा सीआई/सीडी वर्कफ़्लो के साथ इंटिग्रेट करने की प्रक्रिया को आसान बनाता है.

क्रॉस-प्लैटफ़ॉर्म सहायता

Test Lab, Android और iOS ऐप्लिकेशन के लिए टेस्टिंग से जुड़े समाधान और Unity जैसे मोबाइल गेम के लिए खास तौर पर सहायता उपलब्ध कराता है. टेस्टिंग के विकल्पों में, Android Espresso, यूज़र इंटरफ़ेस (यूआई) Automator, और iOS XCTest जैसे लोकप्रिय टेस्टिंग फ़्रेमवर्क को शामिल किया गया है. हमारे ऑटोमेटेड क्रॉलर, Robo का इस्तेमाल करके, टेस्ट लैब बिना किसी टेस्ट कोड के भी टेस्ट कर सकता है.

हार्डवेयर की कोई ज़रूरत नहीं

Test Lab, Google डेटा सेंटर में फ़िज़िकल डिवाइसों को होस्ट करता है और यह Google Cloud में वर्चुअल डिवाइसों को होस्ट करता है. आपको बस अपने टेस्ट, टेस्ट लैब में भेजने हैं और उनके नतीजों का इंतज़ार करना है.

तेज़ और भरोसेमंद

एक साथ कई टेस्ट केस चलाने में ज़्यादा समय लग सकता है. इससे सीआई/सीडी प्रोसेस में रुकावट आ सकती है. टेस्ट लैब की मदद से, टेस्ट को आसानी से शार्ड किया जा सकता है और उन्हें एक साथ कई डिवाइसों पर चलाया जा सकता है. आप परतदारता का भी पता लगा सकते है, जो मोबाइल जांच के दौरान होने वाला एक सामान्य दर्द बिंदु है.

आपको यह जानकारी मिलेगी

  • टेस्ट आर्टफ़ैक्ट बनाने का तरीका
  • gcloud सीएलआई का इस्तेमाल करके मोबाइल टेस्ट करने का तरीका
  • जेनकिन्स सीआई को सेट अप करने का तरीका
  • जेनकिन्स सीआई का इस्तेमाल करके, मोबाइल टेस्ट करने का तरीका
  • टेस्ट को सीआई सिस्टम के साथ बढ़ाने के लिए कैसे कॉन्फ़िगर करें

यह कोडलैब, टेस्ट चलाने पर फ़ोकस करता है. ऐसे कॉन्सेप्ट और कोड ब्लॉक कर दिए जाते हैं जो काम के नहीं होते. वे आपको दिए जाते हैं, ताकि आप उन्हें आसानी से कॉपी करके चिपका सकें.

आपको इन चीज़ों की ज़रूरत होगी

अगर आपको शुरुआत से चीज़ें बनानी हैं, तो Android की जांच करने के लिए आपको Android Studio की ज़रूरत होगी. इसके अलावा, iOS की जांच के लिए XCode की ज़रूरत होगी. आप चाहें, तो खुद को भी अपलोड करें. हम आर्टफ़ैक्ट उपलब्ध कराएंगे.

2. gcloud सीएलआई की मदद से टेस्ट करना

Android ऐप्लिकेशन APK और जांच वाला APK बनाएं

परीक्षण लैब के साथ परीक्षण चलाने के लिए, एक Android ऐप्लिकेशन APK और परीक्षण APK बनाकर शुरुआत करें, जिसमें हार्डवेयर डिवाइस या एम्युलेटर पर चलाने के लिए इंस्ट्रुमेंट्ड परीक्षण शामिल हों. अगर आपके पास पहले से ही काम करने वाला कोड बेस है, तो अपने APK बनाएं या Aspresso के लिए BasicSample का इस्तेमाल करें.

Gradle निर्देशों का इस्तेमाल करके APK बनाने के लिए, आपको Android SDK टूल इंस्टॉल करना होगा. अगर आपके डिवाइस पर Android Studio इंस्टॉल नहीं है, तो Android Studio और Android SDK टूल इंस्टॉल करें. साथ ही, अपनी Android SDK डायरेक्ट्री की मदद से, ANDROID_HOME एनवायरमेंट सेट करें. उदाहरण के लिए, अपनी ~/.bash_profile फ़ाइल में यह लाइन जोड़ें:

export ANDROID_HOME=~/Android/Sdk # For linux
export ANDROID_HOME=~/Library/Android/sdk  # For MacOS

इसके बाद, कोड का क्लोन बनाने और APKs बनाने के लिए, इन निर्देशों का पालन करें:

git clone https://github.com/android/testing-samples.git
cd testing-samples/ui/espresso/BasicSample/
./gradlew assembleDebug  # for generating app apk
./gradlew assembleDebugAndroidTest # for generating testing apk

क्लोन चलाने और कमांड बनाने के बाद, आपको ऐप्लिकेशन APK और टेस्टिंग APK, इन जगहों पर मिल सकते हैं:

app/build/outputs/apk/debug/app-debug.apk
app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk

इसके अलावा, टेस्टिंग और ऐप्लिकेशन APKs पाने के लिए, इन विकल्पों का इस्तेमाल किया जा सकता है:

  • Android Studio में APK बनाने के लिए, Android Studio में टेस्ट करें में दिए गए निर्देशों का पालन करें.
  • Notepad ऐप्लिकेशन का नमूना डाउनलोड करें. बाइनरी फ़ाइल app-debug-unaligned.apk और इंस्ट्रुमेंटेशन टेस्ट फ़ाइल app-debug-test-unaligned.apk का इस्तेमाल करें, जो NotePad/app/build/outputs/apk/ में मौजूद हैं.

अगर आपके पास iOS ऐप्लिकेशन के लिए काम करने वाला सोर्स कोड है, तो ऐप्लिकेशन और जांच से XCTest लिखें और zip फ़ाइल बनाएं.

टेस्ट लैब के साथ टेस्ट करने के लिए, gcloud सीएलआई का इस्तेमाल करें

इस सेक्शन में, Firebase प्रोजेक्ट बनाया जाता है और लोकल Google Cloud SDK टूल एनवायरमेंट को कॉन्फ़िगर किया जाता है. ज़्यादा जानने के लिए, gcloud सीएलआई की मदद से टेस्टिंग शुरू करें लेख पढ़ें.

gcloud सीएलआई सेट अप करें

  1. Google Cloud SDK डाउनलोड करें. इसमें gcloud सीएलआई टूल शामिल है.
  2. पुष्टि करें कि आपका इंस्टॉलेशन अप-टू-डेट है:
gcloud components update
  1. अपने Google खाते का इस्तेमाल करके gcloud सीएलआई में साइन इन करें:
gcloud auth login
  1. gcloud सीएलआई में अपना Firebase प्रोजेक्ट सेट करें, जहां PROJECT_ID आपका Firebase प्रोजेक्ट आईडी है. प्रोजेक्ट आईडी, Firebase कंसोल के यूआरएल में मिल जाएगा. यह नाम रखने के इस तरीके का पालन करता है: https://console.firebase.google.com/project/[PROJECT_ID]/...
gcloud config set project PROJECT_ID

अगर आपके पास Firebase प्रोजेक्ट नहीं है, तो Firebase कंसोल में प्रोजेक्ट बनाएं.

पहले से मौजूद APKs का इस्तेमाल करके टेस्ट करना

इस सेक्शन में, Test Lab के डिफ़ॉल्ट डिवाइस पर इंस्ट्रुमेंटेशन टेस्ट किया जाता है. डिवाइस, एपीआई लेवल 28 वाला Pixel 3 है. अगर आपको किसी दूसरे डिवाइस का इस्तेमाल करना है, तो उपलब्ध डिवाइस देखें.

बिल्ड Android ऐप्लिकेशन APK में बनाए गए ऐप्लिकेशन और टेस्टिंग APK का इस्तेमाल करके और APK की जांच करने के बाद, यहां दिए गए निर्देश का इस्तेमाल करके Android इंस्ट्रुमेंटेशन की जांच करें:

gcloud firebase test android run \
  --type instrumentation \
  --app app/build/outputs/apk/debug/app-debug.apk \
  --test app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk

जांच के नतीजों का विश्लेषण करना

जांच के नतीजों का विश्लेषण करने के लिए, इनमें से किसी भी विकल्प का इस्तेमाल किया जा सकता है:

  • gcloud खास जानकारी - जांच पूरी होने के बाद, gcloud सीएलआई आपके जांच के नतीजों की बुनियादी जानकारी प्रिंट करता है.
  • gcloud एग्ज़िट कोड - जांच पूरी होने के बाद, अगर जांच में पास हो जाता है, तो निर्देश 0 से बाहर निकल जाता है. अगर जांच नहीं हो पाती है, तो निर्देश किसी ऐसे एग्ज़िट कोड के साथ बाहर निकल जाता है जो शून्य नहीं है.
  • Firebase कंसोल - gcloud सीएलआई, Firebase कंसोल का लिंक प्रिंट करता है. यह लिंक, नाम रखने के तरीके https://console.firebase.google.com/project/PROJECT_ID/testlab/... का पालन करता है. ज़्यादा जानने के लिए, एक बार में किए जाने वाले टेस्ट के नतीजों की व्याख्या करना देखें.
  • JUnit XML फ़ाइल - gcloud सीएलआई प्रिंट करता है:
Raw results will be stored in your Cloud Storage bucket at [https://console.developers.google.com/storage/browser/test-lab-xxxxx/xxxxx/]

test-lab-xxxxx/xxxxx, Cloud Storage बकेट है, जिसमें टेस्ट से जुड़े आर्टफ़ैक्ट और नतीजे सेव किए जाते हैं. जांच के नतीजों वाली JUnit एक्सएमएल फ़ाइल ढूंढने के लिए, लिंक खोलें और blueline-28-en-portrait/test_result_1.xml पर जाएं.

3. जेनकिन्स सीआई के साथ सेट अप करें

इस सेक्शन में, टेस्ट लैब से टेस्ट करने के लिए, लोकप्रिय सीआई सिस्टम, जेनकिन्स सीआई का इस्तेमाल किया जाता है. अगर आपको किसी दूसरे सीआई सिस्टम का इस्तेमाल करना है, तो बड़े टेस्ट सुइट चलाने के लिए बेहतर तरीके अपनाएं. साथ ही, Bitrise और Circle CI जैसे दूसरे सीआई सिस्टम के दस्तावेज़ देखें. gcloud सीएलआई की जगह Flank का इस्तेमाल किया जा सकता है.

जेनकिन्स के लिए gcloud सीएलआई चालू करें

जेनकिन्स के साथ टेस्ट लैब का इस्तेमाल करने से पहले, आपको ज़रूरी एपीआई चालू करने होंगे और एक सेवा खाता सेट अप करना होगा जिसका इस्तेमाल जेनकिन्स gcloud सीएलआई के साथ पुष्टि करने के लिए कर सके.

जेनकिन्स के लिए Google Cloud सेवा खाता जोड़ें

सेवा खाते, सीमित तौर पर इस्तेमाल किए जाने वाले खाते होते हैं. इनका मकसद, सेवा को इंटिग्रेट करना होता है. ये खाते कुछ खास सेवाओं को कंट्रोल करने की सुविधा देते हैं. साथ ही, ये स्पैम जांच या कैप्चा प्रॉम्प्ट के दायरे में नहीं आते हैं. इनकी वजह से, आपके सीआई बिल्ड को ब्लॉक किया जा सकता है.

सेवा खाता बनाने के लिए, यह तरीका अपनाएं:

  1. Google Cloud Console में सेवा खाते पेज खोलें.
  2. सेवा खाता बनाएं पर क्लिक करें. इसके बाद, नाम और ब्यौरा जोड़ें. इसके बाद, बनाएं और जारी रखें पर क्लिक करें.
  3. भूमिका चुनें ड्रॉपडाउन में, सामान्य चुनें. इसके बाद, एडिटर चुनें.
  4. जारी रखें पर क्लिक करें. इसके बाद, हो गया पर क्लिक करें.

इसके बाद, पुष्टि करने वाली एक कुंजी बनाई और डाउनलोड की जाती है. इसका इस्तेमाल करके, जेनकिन्स आपके बनाए गए सेवा खाते के तौर पर पुष्टि कर सकते हैं.

सेवा खाते की कुंजी बनाने और डाउनलोड करने के लिए, यह तरीका अपनाएं:

  1. Google Cloud Console में सेवा खाते पेज पर, अपने बनाए गए खाते से जुड़े ईमेल पते पर क्लिक करें.
  2. पासकोड चुनें. इसके बाद, कुंजी जोड़ें और नई कुंजी बनाएं पर क्लिक करें.
  3. JSON चुनें, फिर बनाएं पर क्लिक करें.
  4. जब आपको फ़ाइल डाउनलोड करने के लिए कहा जाए, तो ठीक है पर क्लिक करें. अपने कंप्यूटर पर फ़ाइल को किसी सुरक्षित जगह पर डाउनलोड करें. जेनकिन्स को कॉन्फ़िगर करते समय, आपको इस फ़ाइल की ज़रूरत पड़ेगी.

सेवा खाते बनाने के बारे में ज़्यादा जानने के लिए, सेवा खाता बनाना लेख पढ़ें.

ज़रूरी Google Cloud API चालू करें

Cloud Testing API की मदद से, Google के इंफ़्रास्ट्रक्चर पर टेस्ट किए जा सकते हैं. gcloud सीएलआई की मदद से टेस्ट चलाना पूरा करने के बाद, आपने इस एपीआई को चालू कर दिया है. Cloud Tool के रिज़ल्ट एपीआई की मदद से, प्रोग्राम के हिसाब से अपने टेस्ट के नतीजों को प्रोग्राम के हिसाब से ऐक्सेस किया जा सकता है.

  1. Google Developers Console एपीआई लाइब्रेरी खोलें.
  2. Firebase कंसोल में सबसे ऊपर मौजूद खोज बार में, हर ज़रूरी एपीआई का नाम डालें ( Cloud Testing API और Cloud Tool Results API. इसके बाद, अनुरोध किए गए एपीआई के बारे में खास जानकारी देने वाला पेज दिखेगा.
  3. हर एपीआई की खास जानकारी देने वाले पेज पर, एपीआई चालू करें पर क्लिक करें.

जेनकिन्स को इंस्टॉल और सेट अप करना

Linux, macOS, Windows, और कई अन्य प्लैटफ़ॉर्म पर जेनकिंस CI को इंस्टॉल और सेट अप किया जा सकता है. इस कोडलैब के बारे में कुछ जानकारी, खास तौर पर Linux पर जेनकिन्स CI को इंस्टॉल करने और चलाने के लिए है. इसमें फ़ाइल पाथ में स्लैश (/) का इस्तेमाल करना भी शामिल है.

Linux या Windows पर चलने वाले कंप्यूटर पर जेनकिन्स डाउनलोड और इंस्टॉल करने के लिए, Jenकिन्स इंस्टॉल करने के निर्देशों का पालन करें. जब आप जेनकिन्स इंस्टॉल कर लें, तो सेटअप पूरा करने और http://localhost:8080 का इस्तेमाल करके जेनकिन्स डैशबोर्ड ऐक्सेस करने के लिए, उसी जेनकिन्स इंस्टॉल करने के निर्देशों का पालन करें.

इंस्टॉल किए गए प्लग इन की पुष्टि करें

जेनकिन्स अलग-अलग वर्शन कंट्रोल सिस्टम के साथ काम करते हैं. इस कोडलैब में, पिछली जांच को चलाने के लिए Git का इस्तेमाल किया जा सकता है. इसके अलावा, gcloud सीएलआई चलाने का बेहतर अनुभव पाने के लिए आपको GCloud SDK प्लगिन इंस्टॉल करना होगा.

  1. जेनकिन्स डैशबोर्ड पर, Jenकिन्स को प्रबंधित करेंपर क्लिक करें और फिर प्लगइन प्रबंधित करेंपर क्लिक करें.
  2. Git और GCloud SDK प्लगिन खोजें और उन्हें इंस्टॉल करें (अगर वे अभी तक इंस्टॉल नहीं हुए हैं).

अपने Android और Google Cloud SDK टूल की जगह की जानकारी कॉन्फ़िगर करना

अब आपने जेनकिन्स को निर्देश दिया कि वे Google Cloud SDK और Android SDK को कहां खोजें.

अगर आपको जेनकिन के लिए Google Cloud और Android SDK टूल को कॉन्फ़िगर करना है, तो यह तरीका अपनाएं:

  1. जेनकिंस डैशबोर्ड पर, जेनकिंस प्रबंधित करें पर क्लिक करें और फिर ग्लोबल टूल कॉन्फ़िगरेशन पर क्लिक करें.
  2. Google Cloud SDK सेक्शन में, Google Cloud SDK जोड़ें पर क्लिक करें.
  3. नाम फ़ील्ड में, Google Cloud SDK इंस्टेंस के लिए ऐसा नाम डालें जिसे याद रखना आसान हो, जैसे कि GCloud-SDK.
  4. अपने Google Cloud SDK टूल की होम डायरेक्ट्री डालें. उदाहरण के लिए, /opt/google-cloud-sdk.
  5. सेव करें पर क्लिक करें.
  6. Android और Google Cloud SDK टूल के लिए, पूरे सिस्टम की प्रॉपर्टी कॉन्फ़िगर करें. इसके लिए, डैशबोर्ड > जेनकिन्स को प्रबंधित करें > सिस्टम कॉन्फ़िगर करें.
  7. एनवायरमेंट वैरिएबल चेकबॉक्स चुनें और जोड़ें पर क्लिक करें.
  8. नाम फ़ील्ड में, ANDROID_HOME डालें. वैल्यू फ़ील्ड में, अपने Android SDK टूल की जगह डालें. उदाहरण के लिए, /opt/Android/Sdk.
  9. टूल लोकेशन चेकबॉक्स पर क्लिक करके जोड़ें पर क्लिक करें. नाम ड्रॉपडाउन में जाकर, उस Google Cloud SDK इंस्टेंस का नाम चुनें जिसे आपने ग्लोबल टूल कॉन्फ़िगरेशन में जोड़ा है.
  10. होम फ़ील्ड में, अपने Google Cloud SDK की जगह की जानकारी डालें, जैसे कि /opt/google-cloud-sdk.
  11. सेव करें पर क्लिक करें.

जेनकिन्स में अपने सेवा खाते के क्रेडेंशियल जोड़ें

अब आपके पास अपने gcloud सीएलआई सेवा खाते के क्रेडेंशियल को जेनकिन्स में जोड़ने का विकल्प है. इससे आपका जेनकिन्स, gcloud सीएलआई कमांड की पुष्टि कर सकेगा और उन्हें सही तरीके से चला सकेगा.

  1. जेनकिंस डैशबोर्ड पर, जेनकिंस मैनेज करें पर क्लिक करें. इसके बाद, क्रेडेंशियल मैनेज करें पर क्लिक करें.
  2. Jenकिन्स तक सीमित स्टोर सेक्शन में, (ग्लोबल) डोमेन लिंक पर क्लिक करें. इसके बाद, क्रेडेंशियल जोड़ें पर क्लिक करें.
  3. Kind ड्रॉपडाउन में, निजी पासकोड से Google सेवा खाता चुनें.
  4. प्रोजेक्ट का नाम फ़ील्ड में, अपने Firebase प्रोजेक्ट का नाम डालें.
  5. JSON कुंजी चुनें. इसके बाद, ब्राउज़ करें पर क्लिक करें और उस जगह पर ब्राउज़ करें जहां आपने सेवा खाता कुंजी सेव की है.
  6. बनाएं पर क्लिक करें.

अब आप अपने Merchant Center के ऑटोमेटेड बिल्ड को टेस्ट लैब के लिए कॉन्फ़िगर कर सकते हैं.

4. जेनकिन्स CI के साथ टेस्ट लैब टेस्ट चलाना

आपने जेनकिन्स सेट अप कर लिया है, तो अब सब कुछ एक साथ रखें. साथ ही, जेनकिन्स का इस्तेमाल करके वही टेस्ट करें.

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

अपना जेनकिंस प्रोजेक्ट बनाएं और उसे कॉन्फ़िगर करें

टेस्ट लैब की मदद से, अपने ऐप्लिकेशन के इंटिग्रेशन की लगातार जांच करने के लिए प्रोजेक्ट बनाएं.

जेनकिन्स प्रोजेक्ट बनाना

  1. http://localhost:8080 पर ब्राउज़ करके जेनकिंस डैशबोर्ड खोलें.
  2. जेनकिंस डैशबोर्ड पर, नया आइटम पर क्लिक करें.
  3. आइटम का नाम फ़ील्ड में अपने प्रोजेक्ट का नाम डालें और एक ही बिल्ड कॉन्फ़िगरेशन का इस्तेमाल करने वाला प्रोजेक्ट बनाने के लिए, फ़्रीस्टाइल प्रोजेक्ट पर क्लिक करें.
  4. ठीक है पर क्लिक करें. प्रोजेक्ट के कॉन्फ़िगरेशन पूरे करने के लिए, बाकी सेक्शन को क्रम से पूरा करें.

सोर्स कोड मैनेजमेंट कॉन्फ़िगर करें

  1. सोर्स कोड मैनेजमेंट टैब से, Git चुनें.
  2. डेटा स्टोर करने की जगह के यूआरएल फ़ील्ड में https://github.com/android/testing-सैंपल.git डालें.

बिल्ड एनवायरमेंट को कॉन्फ़िगर करना

बिल्ड एनवायरमेंट सेक्शन की मदद से, बिल्ड की विशेषताएं कॉन्फ़िगर की जा सकती हैं. यह तरीका अपनाकर Google Cloud की पुष्टि करने की सुविधा चालू करें:

  1. एनवायरमेंट बनाएं टैब में, GCloud SDK टूल से पुष्टि करने वाला चेकबॉक्स चुनें. इसके बाद, इंस्टॉल करने के लिए वह नाम चुनें जिसे आपने Google Cloud इंस्टॉलेशन की जानकारी जोड़ते समय चुना था.
  2. Google क्रेडेंशियल ड्रॉपडाउन से, सेवा खाते के वे क्रेडेंशियल चुनें जिन्हें आपने कॉन्फ़िगर किया है.

APK पैकेज फिर से बनाने के लिए, Gradle बिल्ड के तरीके जोड़ना

  1. नीचे की ओर स्क्रोल करके बिल्ड सेक्शन पर जाएं और बिल्ड चरण जोड़ें पर क्लिक करें. इसके बाद, शेल लागू करें चुनें.
  2. अपने ऐप्लिकेशन की मुख्य डायरेक्ट्री में नीचे दिए गए कमांड चलाने के लिए एक बिल्ड चरण जोड़ें:
cd ui/espresso/BasicSample/
./gradlew assembleDebug  # for generating app apk
./gradlew assembleDebugAndroidTest # for generating testing apk

जेनकिन्स में gcloud सीएलआई बिल्ड स्टेप जोड़ें

अब आप gcloud CLI कमांड लाइन का इस्तेमाल करके, टेस्ट लैब चलाने के लिए जेनकिन्स में एक बिल्ड स्टेप जोड़ने के लिए तैयार हैं.

gcloud CLI बिल्ड स्टेप जोड़ने के लिए, एक नया शेल एक्ज़ीक्यूट करें बिल्ड चरण जोड़ें और यह कमांड डालें:

gcloud config set project PROJECT_ID
gcloud firebase test android run \
--app ${WORKSPACE}/ui/espresso/BasicSample/app/build/outputs/apk/debug/app-debug.apk
--test ${WORKSPACE}/ui/espresso/BasicSample/app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk

प्रोजेक्ट सेटअप पूरा करने के बाद, पेज के निचले हिस्से तक स्क्रोल करें और कॉन्फ़िगरेशन को सेव करें. आपको नए प्रोजेक्ट के होम पेज पर रीडायरेक्ट किया जाता है.

जेनकिन्स की मदद से टेस्ट चलाना

अब आप जेनकिन्स प्रोजेक्ट बनाने और gcloud सीएलआई की मदद से किए गए मैन्युअल टेस्ट की तरह ही टेस्ट करने के लिए तैयार हैं.

जेनकिन्स के साथ टेस्ट चलाने के लिए, यह तरीका अपनाएं:

  1. बिल्ड को मैन्युअल रूप से ट्रिगर करने के लिए, अभी बनाएं पर क्लिक करें.
  2. नए बिल्ड पर क्लिक करके प्रोग्रेस और नतीजे देखें > कंसोल आउटपुट.

अगर आपको गड़बड़ियां नहीं दिखती हैं, तो बधाई! आपने अभी-अभी एक प्रोजेक्ट सेट अप किया है और सिर्फ़ एक क्लिक में Pixel 2 डिवाइस को टेस्ट किया है. अगर आपको गड़बड़ियां मिलती हैं, तो समस्या का हल देखें.

5. बड़े टेस्ट सुइट चलाने के सबसे सही तरीके

अगर आपको एक साथ कई टेस्ट करने हैं, तो इन सबसे सही तरीकों को अपनाएं. इससे यह पक्का किया जा सकेगा कि टेस्ट तेज़ी से और सही तरीके से किए जा रहे हैं.

कई डिवाइस कॉन्फ़िगरेशन पर कवरेज बढ़ाएं

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

  • पोर्ट्रेट ओरिएंटेशन और अंग्रेज़ी भाषा में, एपीआई लेवल 30 के साथ वर्चुअल Google Pixel 2
  • लैंडस्केप ओरिएंटेशन और फ़्रेंच भाषा में एपीआई लेवल 29 वाला फ़िज़िकल Samsung Galaxy S20
gcloud firebase test android run \
  --type instrumentation \
  --app app-debug.apk \
  --test app-debug-test.apk \
  --device model=Pixel2,version=30,locale=en,orientation=portrait  \
  --device model=x1q,version=29,locale=fr,orientation=landscape

gcloud CLI YAML कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल करें

अगर आपको आर्ग्युमेंट को एक ही जगह या सोर्स कंट्रोल सिस्टम की मदद से मैनेज करना है, तो YAML फ़ॉर्मैट वाली आर्ग्युमेंट फ़ाइल में भी इन आर्ग्युमेंट का इस्तेमाल किया जा सकता है. इस सुविधा को इस्तेमाल करने का तरीका जानने के लिए, gcloud topic arg-files चलाएं.

साथ-साथ चलाने के लिए शार्ड टेस्ट

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

शार्डिंग चालू करने के लिए, gcloud beta चैनल का इस्तेमाल करें. साथ ही, gcloud सीएलआई बिल्ड स्टेप में –num-uniform-shards या –test-targets-for-shard फ़्लैग जोड़ें. उदाहरण के लिए, अपने टेस्ट को पांच एक्ज़ीक्यूशन में चलाने और साथ-साथ चलाने के लिए, नीचे दिए गए कमांड चलाएं:

gcloud beta firebase test android run \
  --type instrumentation \
  --app app-debug.apk \
  --test app-debug-test.apk \
  --num-uniform-shards 5

गड़बड़ी की पहचान करने की सुविधा चालू करें

मोबाइल टेस्ट में अक्सर गड़बड़ियां हो सकती हैं. कभी-कभी जांच में पास हो जाते हैं और कभी-कभी एक ही सेटअप के बाद भी जांच में सफल नहीं हो पाते हैं. gcloud सीएलआई फ़्लैग का इस्तेमाल करके यह पता लगाया जा सकता है कि जिस टेस्ट में गड़बड़ी हुई थी वह सही नहीं थी –num-flaky-test-attempts. यह फ़्लैग बताता है कि अगर एक या एक से ज़्यादा टेस्ट केस किसी वजह से फ़ेल हो जाते हैं, तो किसी टेस्ट को कितनी बार लागू करना चाहिए.

उदाहरण के लिए, शुरुआती असफल जांच के बाद तीन बार और टेस्ट केस चलाने के लिए, यह जानकारी दें:

gcloud beta firebase test android run \
  --type instrumentation \
  --app app-debug.apk \
  --test app-debug-test.apk \
  --num-flaky-test-attempts 3

6. बधाई

बधाई हो, आपने सीआई सिस्टम की मदद से अपना पहला टेस्ट लैब टेस्ट कर लिया है!

आपने ऐप्लिकेशन और टेस्टिंग वाले APK बनाए हैं और आपने gcloud CLI का इस्तेमाल करके टेस्ट लैब के साथ इंस्ट्रुमेंटेशन टेस्ट किया है. उसी टेस्ट को ऑटोमेट करने के लिए, आप एक जेनकिंस प्रोजेक्ट भी सेट अप करते हैं.

अब आपको CI/CD सिस्टम के साथ टेस्ट लैब को इंटिग्रेट करने का तरीका पता है.

आगे क्या करना है?

Firebase एम्युलेटर सुइट का इस्तेमाल करके सीआई सेट अप करने का तरीका जानें

इसके बारे में और पढ़ें

रेफ़रंस के लिए दस्तावेज़