टेस्ट लैब की समस्या का हल & अक्सर पूछे जाने वाले सवाल

इस पेज पर, समस्या हल करने में मदद मिलती है. साथ ही, Firebase Test Lab की मदद से टेस्ट चलाने के बारे में अक्सर पूछे जाने वाले सवालों के जवाब भी मिलते हैं. पहले से मालूम समस्याओं की जानकारी भी दी जाती है. अगर आपको अपनी ज़रूरत के मुताबिक जानकारी नहीं मिल पा रही है या आपको और मदद चाहिए, तो Firebase Slack पर #test-lab channel में शामिल हों या Firebase की सहायता टीम से संपर्क करें.

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

डिवाइस की क्षमता के किसी भी लेवल पर चल रहे टेस्ट में, इन वजहों से ज़्यादा समय लग सकता है:

  • ट्रैफ़िक, जिससे डिवाइस की उपलब्धता और जांच की स्पीड पर असर पड़ता है.
  • डिवाइस या इन्फ़्रास्ट्रक्चर में होने वाली गड़बड़ियां, जो कभी भी हो सकती हैं. Test Lab के लिए, कोई इन्फ़्रास्ट्रक्चर रिपोर्ट किया गया है या नहीं, यह देखने के लिए Firebase का स्टेटस डैशबोर्ड देखें.

Test Lab में डिवाइस की क्षमता के बारे में ज़्यादा जानने के लिए, Android और iOS के लिए डिवाइस की क्षमता के बारे में जानकारी देखें.

टेस्ट के नतीजे साफ़ तौर पर न मिलने की वजह, आम तौर पर टेस्ट रन रद्द होने या इन्फ़्रास्ट्रक्चर से जुड़ी गड़बड़ियों की होती है.

इन्फ़्रास्ट्रक्चर से जुड़ी गड़बड़ियां, Test Lab से जुड़ी अंदरूनी समस्याओं की वजह से होती हैं. जैसे, नेटवर्क से जुड़ी गड़बड़ियां या डिवाइस के गलत तरीके से काम करना. Test Lab, अमान्य नतीजे की रिपोर्ट करने से पहले, ऐसे टेस्ट रन को इंटरनल तौर पर बंद कर देता है जिनसे इन्फ़्रास्ट्रक्चर से जुड़ी गड़बड़ियां कई बार होती हैं. हालांकि, failFast का इस्तेमाल करके, इन रीट्राइ को बंद किया जा सकता है.

गड़बड़ी की वजह जानने के लिए, यह तरीका अपनाएं:

  1. Firebase के स्टेटस डैशबोर्ड में जाकर, देखें कि क्या कोई समस्या है.
  2. Test Lab में जांच फिर से करें, ताकि यह पुष्टि की जा सके कि समस्या दोबारा आ सकती है या नहीं.

  3. अगर लागू हो, तो किसी दूसरे डिवाइस या डिवाइस टाइप पर जांच करें.

अगर समस्या बनी रहती है, तो Firebase Slack पर #test-lab चैनल में जाकर, Test Lab टीम से संपर्क करें.

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

टेस्ट का अनुरोध सबमिट करने पर, आपके ऐप्लिकेशन की पुष्टि की जाती है, फिर उस पर फिर से हस्ताक्षर किए जाते हैं. ऐसा, डिवाइस पर टेस्ट चलाने की तैयारी के लिए किया जाता है. आम तौर पर, यह प्रोसेस कुछ सेकंड में पूरी हो जाती है. हालांकि, आपके ऐप्लिकेशन के साइज़ जैसे फ़ैक्टर से इस पर असर पड़ सकता है.

ऐप्लिकेशन तैयार होने के बाद, टेस्ट को शेड्यूल किया जाता है. इसके बाद, टेस्ट तब तक कतार में बने रहते हैं, जब तक कोई डिवाइस इसे चलाने के लिए तैयार नहीं हो जाता. जब तक सभी टेस्ट एक्सीक्यूशन पूरे नहीं हो जाते, तब तक मैट्रिक का स्टेटस "मंज़ूरी बाकी है" रहेगा. भले ही, टेस्ट एक्सीक्यूशन, सूची में हों या चल रहे हों.

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

अक्सर पूछे जाने वाले सवाल

Firebase Test Lab, डिवाइसों पर टेस्टिंग करने और Cloud API का इस्तेमाल करने के लिए, बिना किसी शुल्क के कोटा उपलब्ध कराता है. ध्यान दें कि टेस्टिंग कोटा, Firebase के स्टैंडर्ड शुल्क वाले प्लान का इस्तेमाल करता है, जबकि Cloud API कोटा ऐसा नहीं करता.

  • टेस्टिंग कोटा

    जांच के कोटे, जांच करने के लिए इस्तेमाल किए गए डिवाइसों की संख्या के हिसाब से तय किए जाते हैं. Firebase Spark प्लान में, उपयोगकर्ताओं को बिना किसी शुल्क के टेस्टिंग के लिए तय कोटा मिलता है. अगर समय के साथ Google Cloud का इस्तेमाल बढ़ता है, तो Blaze प्लान के लिए आपके कोटा में बढ़ोतरी हो सकती है. अगर आपने टेस्टिंग के लिए तय कोटा पूरा कर लिया है, तो अगले दिन तक इंतज़ार करें. अगर आपने फ़िलहाल स्पार्क प्लान लिया है, तो ब्लेज़ प्लान पर अपग्रेड करें. अगर आपने पहले से ही Blaze प्लान लिया हुआ है, तो कोटा बढ़ाने का अनुरोध किया जा सकता है. ज़्यादा जानकारी के लिए, टेस्टिंग कोटा देखें.

    Google Cloud console में जाकर, टेस्टिंग कोटा के इस्तेमाल को मॉनिटर किया जा सकता है.

  • Cloud Testing API कोटा

    Cloud Testing API के लिए, कोटा की दो सीमाएं तय की गई हैं: हर प्रोजेक्ट के लिए हर दिन के अनुरोध और हर प्रोजेक्ट के लिए हर 100 सेकंड के अनुरोध. Google Cloud कंसोल में जाकर, अपनी सदस्यता के इस्तेमाल को मॉनिटर किया जा सकता है.

  • Cloud Tool Results API का कोटा

    Cloud Tool Results API के लिए, कोटा की दो सीमाएं तय की गई हैं: हर प्रोजेक्ट के लिए हर दिन की जाने वाली क्वेरी और हर प्रोजेक्ट के लिए हर 100 सेकंड में की जाने वाली क्वेरी. Google Cloud कंसोल में जाकर, अपनी सदस्यता के इस्तेमाल को मॉनिटर किया जा सकता है.

    एपीआई की सीमाओं के बारे में ज़्यादा जानकारी के लिए, Test Lab के लिए Cloud API कोटा देखें. अगर आपने एपीआई कोटा पूरा कर लिया है, तो:

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

    • Google Cloud कंसोल में अनुरोध फ़ॉर्म भरकर या Firebase की सहायता टीम से संपर्क करके, एपीआई के लिए ज़्यादा कोटा का अनुरोध करें.

अपने बैकएंड से, यह पता लगाया जा सकता है कि ट्रैफ़िक Firebase के होस्ट किए गए टेस्ट डिवाइसों से आ रहा है या नहीं. इसके लिए, सोर्स आईपी पते की तुलना हमारी आईपी रेंज से करें.

Test Lab, VPC-SC के साथ काम नहीं करता. यह Test Lab के इंटरनल स्टोरेज और उपयोगकर्ताओं के नतीजों की बकेट के बीच, ऐप्लिकेशन और टेस्ट के अन्य आर्टफ़ैक्ट को कॉपी करने से रोकता है.

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

निम्नलिखित का ध्यान रखें:

  • गड़बड़ी का पता चलने पर, टेस्ट पूरा होने की प्रोसेस फिर से शुरू हो जाती है. सिर्फ़ उन टेस्ट केस को फिर से चलाने की सुविधा उपलब्ध नहीं है जो पास नहीं हुए हैं.
  • डेफ़लेक को फिर से चलाने के लिए, एक ही समय पर कई प्रोसेस शेड्यूल की जाती हैं. हालांकि, यह ज़रूरी नहीं है कि ये प्रोसेस एक साथ ही चलेंगी. उदाहरण के लिए, जब उपलब्ध डिवाइसों की संख्या से ज़्यादा ट्रैफ़िक आता है.

इनमें से कुछ आइटम हमारे रोडमैप में शामिल हैं. हालांकि, फ़िलहाल हम इन टेस्टिंग और ऐप्लिकेशन डेवलपमेंट प्लैटफ़ॉर्म के साथ काम करने की कोई गारंटी नहीं दे सकते.

एपीआई की मदद से, डिवाइस की पूरी जानकारी देखी जा सकती है. इसे gcloud क्लाइंट से ऐक्सेस करने के लिए, describe command का इस्तेमाल करें:

gcloud firebase test ios models describe MODEL

iOS के लिए Test Lab में, डेटा का बंटवारा करने की सुविधा काम नहीं करती. हालांकि, iOS टेस्ट केस को अलग-अलग ग्रुप में बांटने के लिए, Flank क्लाइंट का इस्तेमाल किया जा सकता है.

यह .xctestrun फ़ाइल में OnlyTestIdentifiers की और वैल्यू सेट करके काम करता है. ज़्यादा जानकारी के लिए, xcodebuild.xctestrun के लिए man पेज देखें.

iOS 18 या उसके बाद के वर्शन पर, खोज के नतीजों में वीडियो नहीं दिखाए जा सकते.

ज्ञात समस्याएं

रोबो टेस्ट, साइन इन स्क्रीन को बायपास नहीं कर सकता. इन स्क्रीन पर, साइन इन करने के लिए क्रेडेंशियल डालने के अलावा, उपयोगकर्ता को कुछ और कार्रवाइयां भी करनी पड़ती हैं. उदाहरण के लिए, कैप्चा भरना.

iOS+ (बीटा) के लिए, रोबो टेस्ट में Google खाते से अपने-आप साइन इन होने की सुविधा काम नहीं करती.